Radzhab
Окт. 14, 2012 22:40:41
в общем сабж
Chern
Окт. 15, 2012 00:26:18
ForeignKey представляет собой отношение “один ко многим”, ManyToManyField - “многие ко многим”
Radzhab
Окт. 16, 2012 07:32:20
хм.. кажись моветон делать многие ко многим) или я не прав?
FishHook
Окт. 16, 2012 09:44:58
Radzhab
хм.. кажись моветон делать многие ко многим) или я не прав?
Когда есть отношение многие-ко-многим Джанга создает кросс-таблицу и при запросах строит джойны через эту таблицу. Ты можешь предложить другой вариант реализации?
Radzhab
Окт. 16, 2012 12:52:27
Я не знал что джанга умеет такие вещи
FishHook
Окт. 16, 2012 14:14:43
Radzhab
Я не знал что джанга умеет такие вещи
class ManyToManyField(othermodel)
A many-to-many relationship. Requires a positional argument: the class to which the model is related. This works exactly the same as it does for ForeignKey, including all the options regarding recursive and lazy relationships.
Related objects can be added, removed, or created with the field's RelatedManager.
Database Representation
Behind the scenes, Django creates an intermediary join table to represent the many-to-many relationship. By default, this table name is generated using the name of the many-to-many field and the name of the table for the model that contains it. Since some databases don't support table names above a certain length, these table names will be automatically truncated to 64 characters and a uniqueness hash will be used. This means you might see table names like author_books_9cdf4; this is perfectly normal. You can manually provide the name of the join table using the db_table option.