Динамически менять внешние ключи от одной модели к другой - PullRequest
0 голосов
/ 14 июня 2019

Я постоянно учусь использовать Django и играю с моделями, чтобы понять, как манипулировать отношениями между ними.У меня есть четыре модели, и я хотел бы иметь возможность связать две из трех моделей с моей таблицей внешних ключей (Варианты) и изменить это отношение в любой момент.В процессе производства я представляю, что пользователь увидит завтрак, обед и ужин с флажками рядом с каждым, и он может выбрать только два из трех, которые будут определять, какие модели входят в таблицу внешнего ключа.Эти два варианта определяют, к каким блюдам они имеют доступ одновременно.

Я создал три класса и попытался использовать таблицу внешнего ключа, которая бы содержала все три и позволяла пользователю выбирать только два из трех, но я думаю, что это оставит много неиспользуемого пространствав моей базе данных.Я открыт для ответов и предложений.

class Breakfast(model.Model):
    # some implementation

class Lunch(model.Model):
    # some implementation

class Dinner(model.Model):
    # some implementation

class Choice(model.Model):
    choice1=  models.ForeignKey("X", blank=True, null=True) # Where X is the name of an interchaneable model above. 
    choice2=  models.ForeignKey("X", blank=True, null=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...