我有一个使用通用外键的模型
class Flag(TimeStampedModel):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
但是,当我试图保存一个新的标志,其中ForeignKey是base64编码的,我得到了错误:
ValueError: invalid literal for int() with base 10: '7_p1seHP7FR0KxN9+hHaCaNg'
似乎通用外键只能是int!我怎么能解决这个问题,因为不是所有的密钥都是int。在
如何得到错误:
u = User.objects.get(pk="7_p1seHP7FR0KxN9+hHaCaNg") Flag.objects.create(content_object=u)
here它表示通用外键可以是字符:
它可以是原始主键可以强制转换到的任何对象。您还可以使用TextField,但要付出一定的性能代价。在
相关问题 更多 >
编程相关推荐