簡體   English   中英

將模型添加到Django外鍵

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM