gpt4 book ai didi

Django 模型字段有多种类型?

转载 作者:行者123 更新时间:2023-12-02 06:43:37 25 4
gpt4 key购买 nike

我有以下(简化)模型:

class Structure(models.Model):
name=models.CharField(max_length=100, unique=True)

class Unit(models.Model):
name=models.CharField(max_length=100, unique=True)

每个模型还有一个builtFrom字段,它显示该项目是由什么构建的,例如:

class Unit(models.Model):
name=models.CharField(max_length=100, unique=True)
builtFrom=models.ForeignKey(Structure)

但是,builtFrom 可以从单元类型或结构类型填充。有没有一种简单的方法可以在我的模型中表示这一点?

我唯一能想到的就是有一个单独的模型,如下所示:

class BuiltFromItem(models.Model):
structure=models.ForeignKey(Structure)
unit=models.ForeignKey(Structure)


class Unit(models.Model):
name=models.CharField(max_length=100, unique=True)
builtFrom=models.ForeignKey(BuiltFromItem)

然后让BuiltFromItem 字段之一为空。然后,当我需要数据时,弄清楚它是构建它的结构还是单元。有没有更好的解决方案?

最佳答案

您想要 Django 文档中所说的“generic relation ”。 Django 内置了对它们的支持。

关于Django 模型字段有多种类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6256744/

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