gpt4 book ai didi

python - 在 Django 中为两个不同类的选项制作外键

转载 作者:行者123 更新时间:2023-11-28 23:05:15 26 4
gpt4 key购买 nike

所以,基本上,我想知道是否有可能使 Django 中的 ForiegnKey 潜在地指向两个对象的选择。实际上不是。

例如:

class Car(models.Model):
pass

class Truck(models.Model):
pass

class NumberPlate(models.Model):
vehicle = models.ForeignKey(Car or Truck)

我知道在这个例子中,有很多更好的方法来格式化汽车-卡车的区别,但在我的实际代码中,似乎没有其他选择而不会让事情变得更复杂。我想我可以为汽车和卡车创建一个“车牌”,但这会给我的代码增加不必要的困惑。

有没有一种方法可以在要指向的两种类型的对象之间进行选择,或者有一种方法可以解决这个问题?

谢谢!

最佳答案

最好使用 Generic Relation然后可以将 NumberPlate 附加到任何内容类型,例如

content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')

关于python - 在 Django 中为两个不同类的选项制作外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6341924/

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