[英]Adding Models to Django Foreign Key
我有一个带有外键的模型,允许我引用任意数量的其他模型。 因此,我可以使用管理界面进行添加和删除,但是如何以编程方式进行等效操作?
class Json(models.Model):
data = models.TextField()
class Dweet(models.Model):
name = models.CharField(max_length = 300)
data = models.ForeignKey(Json)
为了使用这些模型,您可以执行以下操作:
>>> from app.models import Json, Dweet
>>> a = Json(data="asdf")
>>> a.save()
>>> b = Dweet(name="Test", data=a)
>>> b.save()
>>> c = Dweet(name="Test2", data=a)
>>> c.save()
之后,您将获得一个Json对象和两个Dweet对象,这两个对象均指向所述Json对象。 这和您展示给我们的两个模型一样有趣。 当然,您可以添加更多Json对象,但是每个Dweet只能指向一个Json(不确定您是否在询问其他问题)。
通过提供的描述尚不清楚您的问题是什么,但是我会根据我可以通过快照理解的内容来尝试回答。
实际上,一个选项没有在下拉列表中列出两次,而是代表了存储在Json表中的两个模型对象,即,由于您已将Json指定为外键。 因此,每次加载表单时,它都会请求一个查询集(例如,来自Json的select *)。 因此,作为响应,它将接收模型对象(相应模型表中不同行的数量)。 因此,您需要指定unicode ()方法,以便仅在Json Object的位置显示对象属性值。 因此,如果您编写类似
class Json(models.Model):
data = models.TextField()
def __unicode__(self):
return self.data
您将获得存储在Model对象中的数据,即data 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.