[英]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.