为了账号安全,请及时绑定邮箱和手机立即绑定

_meta.get_all_field_names()中的GenericForeignKey名称错误

_meta.get_all_field_names()中的GenericForeignKey名称错误

慕尼黑8549860 2021-03-19 15:15:14
我有两个模型:class First(models.Model):    name = models.CharField(max_length=50, default='n/a')    content_type = models.ForeignKey(ContentType)    object_id = models.PositiveIntegerField()    content_object = generic.GenericForeignKey()    def __unicode__(self):        return str(self.pk) + ' > ' + self.nameclass Second(models.Model):    name = models.CharField(max_length=50, default='n/a')    r = generic.GenericRelation(First)    def __unicode__(self):        return str(self.pk) + ' > ' + self.name当我做:from myapp.models import FirstFirst._meta.get_all_field_names()我得到:['content_type', u'id', 'name', 'object_id', 'second']因此,似乎而不是content_object,GenericForeignKey命名为second。这是预期的行为吗?
查看完整描述

2 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

A在幕后GenericForeignKey使用了两个字段;在这种情况下,它们是content_typeobject_id因为这些是默认名称。second是由创建GenericRelationSecond.r


查看完整回答
反对 回复 2021-03-31
  • 2 回答
  • 0 关注
  • 340 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信