Django错误。插入表时不能分配必须是实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django错误。插入表时不能分配必须是实例相关的知识,希望对你有一定的参考价值。

插入我的一个表时,我收到以下错误消息:

无法分配“1”:“Country.intModifiedUser”必须是“AppUser”实例。

country_details.intModifiedUser = 1

views.朋友

country_details = Country.objects.get(pk=pk,chrDocumentStatus='N')
country_details.intModifiedUser = 1
country_details.save()

model.朋友

class Country(UpdateLog):
intCountryId = models.BigAutoField(primary_key = True, db_column = 'pk_bint_country_id')
strCountryName = models.CharField('Country Name', db_column = 'vchr_country', max_length = 100, null = False)
strNationality = models.CharField('Nationality', db_column = 'vchr_nationality', max_length = 100, null = True)
chrDocumentStatus = models.CharField('Document Status', db_column = 'chr_document_status', max_length = 1, null = False, default = 'N')
intModifiedUser = models.ForeignKey(AppUser,related_name='%(class)s_modified', db_column= 'fk_bint_modified_user_id', null = True)

class Meta:
    db_table='tbl_country'

class AppUser(AbstractBaseUser,ChangeLog):
   email = models.EmailField(
    verbose_name='email address',
    max_length=255,
    unique=True,
) 

chrUserType = models.CharField('User type code', db_column='chr_user_type',max_length=5,blank=True,null=True)
blnSuperUser = models.BooleanField(default=False, db_column='is_superuser')
intTravelAgencyUserId = models.ForeignKey(TravelAgencyUser,db_column='fk_travel_agency_user_id',default=None)
objects = MyUserManager()

USERNAME_FIELD = 'email'
REQUIRED_FIELDS = []
class Meta:
    db_table='tbl_user'
def is_staff(self):
    return True
def has_module_perms(self, re):
    return self.is_superuser
def has_perm(self, re):
    return self.is_superuser

def get_short_name(self):
    return self.email
答案

intModifiedUser是AppUser的一个实例。您不应直接设置外键标识符。

用于从AppUser实例获取对象

intModifiedUser = AppUser.objects.get(id=1) 

country_details = Country(values, intModifiedUser = intModifiedUser)

以上是关于Django错误。插入表时不能分配必须是实例的主要内容,如果未能解决你的问题,请参考以下文章

不能分配必须是实例。姜戈

尝试在 Django 中的模型表之间建立关系。但是在插入值时出现错误 |外键项必须是一个实例

将第一个节点添加到hashmap中的链表时,为啥必须将新节点直接分配给索引指针?

数据结构单链表&&静态链表详解和代码实例

Django REST Framework 更新外键

django 插入库表时如何添加many-to-many字段数据