Python 模型的列表模型字段。模型

Python 模型的列表模型字段。模型,python,django,Python,Django,我正在寻找一个可以用来在我的模型中定义的字段,它本质上是一个列表,因为它将用于存储多个字符串值。显然,不能使用CharField 您将定义另一个对主模型具有外键的模型。您描述的是多对一关系。这应该通过一个额外的模型来建模,该模型具有一个字符域来存储字符串和外键到主模型(正如@Kujira已经指出的): 现在,您可以将字符串添加到YourModel的实例中: ym = YourModel.objects.create() ym.strings.create(string='string1') ym

我正在寻找一个可以用来在我的模型中定义的字段,它本质上是一个列表,因为它将用于存储多个字符串值。显然,不能使用CharField

您将定义另一个对主模型具有外键的模型。

您描述的是多对一关系。这应该通过一个额外的
模型
来建模,该模型具有一个
字符域
来存储字符串和
外键
到主
模型
(正如@Kujira已经指出的):

现在,您可以将字符串添加到
YourModel
的实例中:

ym = YourModel.objects.create()
ym.strings.create(string='string1')
ym.strings.create(string='string2')

您可能想用一个简短的示例来详细说明这一点,其中包含FK和所需的
CharField
@schwobasegll,我现在正在打电话,所以我不想费心。请随意编辑和升级答案。模型中有两个相关名称是否有效。也就是说,如果“String”已经是我拥有的一个模型,并且已经通过另一个相关名称拥有一个指向“YourModel”的外键,那么我是否可以将其修改为YourModel=models。ForeignKey('YourModel',related_name='where',related_name='strings')?否。每个FK关系只能有一个
related_name
,对于指向同一模型的不同FK,这些名称不得冲突。只需给字符串Model name和相关的\ u name唯一值。哦,好吧,那么您的\ Model=models.ForeignKey('YourModel',related \ u name='whatever')和您的\ model2=models.ForeignKey('YourModel',related \ u name='strings')将有效?是的。如果这些字段是在不同的模型上定义的,您可以将它们都称为
您的\u模型
,但是
相关的\u名称
必须是不同的,就像您的示例中的情况一样。我决定对这两个字段都使用一个字段,我相信这会起作用。在我看来,我正在考虑使用一个数组作为适当的数据类型来执行,即record=[],如果在循环中输入,我可以执行record=ym.strings.create(topic=strings.name),因为我需要将结果传递给模板
ym = YourModel.objects.create()
ym.strings.create(string='string1')
ym.strings.create(string='string2')