好吧,这对其他人来说可能真的很容易解决,但我真的很困惑如何去解决这个问题。你知道吗
首先,我有一个模型a,它有多个字段,这些字段与特定表有多对多的关系。比如说
class A(models.Model):
field1 = models.ManyToMany('field1Collection')
field2 = models.ManyToMany(field2Collection')
class field1Collection(models.Model):
description = models.TextField()
class field2Collection(models.Model):
description = models.TextFIeld()
不管怎么说,这就是我想要完成的。我需要写另一个模型,可以举行排名系统。例如,我想创建一个可以定义
我有x个等级(例如3):
所以我基本上希望能够从field1Collection和field2Collection表中选择对象,并为它们分配等级。我尝试使用foreignkeys和m2m字段来设计方案,但它们都会出错,因为模型需要提前知道我需要引用哪个集合集。这有意义吗?有人能帮忙吗?你知道吗
您需要field1Collection和filed2Collection有一个共同的祖先类,您可以用foreignKey引用它。请参阅关于继承的django文档。你知道吗
您可以使用
GenericForeignKey
关系来解决这个问题一个普通的ForeignKey只能“指向”另一个模型,这意味着如果RankItem模型使用ForeignKey,它必须选择一个并且只能选择一个模型来存储标记。contenttypes应用程序提供了一种特殊的字段类型,它可以解决这个问题,并允许与任何模型建立关系
相关问题 更多 >
编程相关推荐