Форум сайта python.su
class test_category(models.Model): id = models.IntegerField(max_length=11) channel_id = models.IntegerField(max_length=11) category = models.CharField(max_length=100) class test_01(models.Model): id = models.IntegerField(max_length=11) channel = models.ForeignKey(test_category, to_field='channel_id') program_id = models.IntegerField(max_length=11) title = models.CharField(max_length=100)
Отредактировано quadright (Авг. 23, 2013 04:52:10)
Офлайн
точно не знаю. Но возможно связь проходит по primary_key, и если chanel_id будет primary_key для таблицы. Может связь и будет по нему
Офлайн
Ситуация что на таблицу “test_category” из нескольких мест ссылки идут и в каждом случае по разным ячейкам связывать надо.
Всеравно благодарю за ответ, может еще предположения? второй день такую мелочь в ORM сделать пытаюсь.
Офлайн
а зачем?
Офлайн
Зачем? А действительно зачем?
И надоли оно мне?…
Уговорил, изменил структуру БД. Всеравно интересно было бы знать как не по primary_key цеплять таблицы? Как я понял по документации прописываешь to_field другое, но не получается. Может в синтаксисе ошибка?
Отредактировано quadright (Авг. 23, 2013 08:23:31)
Офлайн
Да, решение как и подозревал весьма банальное:
class test_category(models.Model): id = models.IntegerField(max_length=11, primary_key=True) channel_id = models.IntegerField(max_length=11, primary_key=True) category = models.CharField(max_length=100) class test_01(models.Model): id = models.IntegerField(max_length=11) channel = models.ForeignKey(test_category, to_field='channel_id') program_id = models.IntegerField(max_length=11) title = models.CharField(max_length=100)
Офлайн