gpt4 book ai didi

django - ForeignKey 与抽象类的关系

转载 作者:行者123 更新时间:2023-12-04 20:39:57 25 4
gpt4 key购买 nike

我正在尝试这样的一些:

class F(models.Model):
class Meta:
abstract = True

class C1(F):
class C2(F):

class D(F):
pid = models.ForeignKey(Cx)

其中 Cx 可以是 C1 或 C2,但我不知道该怎么做。

有人可以带领我吗?
谢谢

python 3.3
Django 1.7

最佳答案

你问的问题是不可能直接的,你不能有一个抽象模型的 ForeignKey,因为抽象模型没有要链接的数据库表。

你可以做两件事中的任何一件。要么制作F一个具体的类,这有一些缺点,但它不是一个坏方法。

class F(models.Model):
pass

class C1(F):
pass
class C2(F):
pass

class D(F):
pid = models.ForeignKey(F)

或使用 GenericforeignKey 这有点复杂,特别是如果您需要限制模型的选择。

关于django - ForeignKey 与抽象类的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28056593/

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