Django - модель с несколькими полями тегов - PullRequest
0 голосов
/ 17 марта 2020

Мне нужна модель с несколькими полями «тегов». Например:

class Food(models.Model):
    type = SomeTagField()
    manufacturer = SomeTagField()

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

Я пробовал django -ta git и его TaggableManager, но без удачи:

ValueError: You can't have two TaggableManagers with the same through model.

Что будет правильным способом справиться с этим?

1 Ответ

1 голос
/ 17 марта 2020

«Слишком сложный» субъективен, но я бы использовал ManyToManyField

class FoodType(models.Model):
    country = SomeField()
    nutrients = SomeField()
    ...


class Manufacturer(models.Model):
    name = SomeField()
    cost = SomeField()
    ...


class Food(models.Model):
    type = models.ManyToManyField(FoodType, ...)
    manufacturer = models.ManyToManyField(Manufacturer, ...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...