0
我是Django的一名新手。我正在尋找一篇文章或SO線程描述django在數據庫中存儲多選列表框值的方式,但找不到一個。在django中存儲多個選擇值
在我的情況下,我有例如選項的類別列表框(C1,C2,C3
)。類別名稱可以很長。我想爲單個用戶分配多個類別。它也可以是分配給用戶的單個類別。
我的模型看起來像這樣(cat_name fiels取決於它的分貝如何存儲)
class Category(models.Model):
user = models.ForeignKey(User)
cat_name = models.CharField(max_length=100)
#or cat_name = models.TextField()
我的問題是Django會如何的值存儲在數據庫
id user_id cat_name
1 1 C1&C2&C3
2 2 C1&C2
3 3 C3
或者
id user_id cat_name
1 1 C1
2 1 C2
3 1 C3
4 2 C1
5 2 C2
6 3 C3
如果是第一種情況,那麼我會使用TextField
否則CharField
。在第一種情況下使用的&僅僅是一個例子。
任何建議/鏈接非常感謝。提前致謝。
多選列表框是位於網站前端的內容,以及Django如何將其存儲在數據庫中取決於您爲其選擇的模型字段。如果你在單獨的模型中使用'ManyToManyField',你可以得到類似於第二個例子的東西。 – bouteillebleu
@bouteillebleu非常感謝。我將在管理員和管理員的多選列表框中爲用戶分配類別。請問有沒有例子說明如何使用'ManyToManyField'與'獨立模型'。 –
https://stackoverflow.com/questions/45407132/django-many-to-many-relationship-category中的models.py示例有幫助嗎?一般來說,https://docs.djangoproject.com/en/1.11/topics/db/examples/many_to_many/也應該對'ManyToManyField'有更多的幫助。 – bouteillebleu