想要在Django的另一个模型字段中使用模型。有可能吗?
class Foo(models.Model):
name = models.CharField(max_length=100)
class Bar(models.Model):
students_name = #class foo fields
fathers_name = #class foo fields
谢谢。
答案 0 :(得分:2)
如果要从其他模型中选择记录,可以使用models.ForeignKey
创建外键关系:
class Foo(models.Model):
name = models.CharField(max_length=100)
class Bar(models.Model):
students_name = models.ForeignKey(Foo)
fathers_name = models.ForeignKey(Foo)
当存储新的Foo
对象时,您可以从模型Bar
的保存记录中进行选择。
修改:
对于(创建)关系的(过度)说明,这会将对象Foo
的两个单独实体链接到Bar
。
Foo
的两个实例不必是同一对象,而可以是模型Foo
的不同对象。
答案 1 :(得分:1)
您可以这样做
class Foo(models.Model):
name = models.CharField(max_length=100)
class Bar(models.Model):
students_name = models.ForeignKey(Foo, on_delete=models.CASCADE)
fathers_name = models.ForeignKey(Foo)
如果您需要某种其他类型的关系,请参考这些。