gpt4 book ai didi

python - 如何创建没有主键列并避免 Id 默认列的 Django 模型

转载 作者:太空宇宙 更新时间:2023-11-03 21:10:06 25 4
gpt4 key购买 nike

我使用 SQL Server 作为默认数据库。我使用inspectdb 命令复制了模型中的SQL Server 表。现在,SQL Server 表没有任何主键列。因此,django 模型自动创建 id 作为主键,并在发布数据时给我错误。

column "id" does not exist

是否有任何解决方法可以在删除 id 的同时不在模型的任何列上定义主键?

from django.db import models

class ImptCustomer(models.Model):
customerid = models.IntegerField(db_column='CustomerId', blank=True, null=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=50, blank=True, null=True) # Field name made lowercase.
phonenumber = models.CharField(db_column='PhoneNumber', max_length=20, blank=True, null=True) # Field name made lowercase.
emailaddress = models.CharField(db_column='EmailAddress', max_length=100, blank=True, null=True) # Field name made lowercase.
streetline = models.CharField(db_column='StreetLine', max_length=50, blank=True, null=True) # Field name made lowercase.
city = models.CharField(db_column='City', max_length=50, blank=True, null=True) # Field name made lowercase.
statecode = models.CharField(db_column='StateCode', max_length=5, blank=True, null=True) # Field name made lowercase.
postalcode = models.CharField(db_column='PostalCode', max_length=20, blank=True, null=True) # Field name made lowercase.
customer_key = models.IntegerField(db_column='Customer_Key', blank=True, null=True, editable = False) # Field name made lowercase.

class Meta:
managed = False
db_table = 'IMPT_Customer'

最佳答案

如果您没有显式定义主键,则 id 将成为您的主键。所以你不能那样做。

关于python - 如何创建没有主键列并避免 Id 默认列的 Django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55127195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com