Модель объекта:
class Object(models.Model):
author = models.ForeignKey(ProfileUser, on_delete=models.CASCADE)
title = models.CharField(max_length=300)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
address = models.CharField(max_length=300)
content = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
approved_object = models.BooleanField(default=False)
admin_seen = models.BooleanField(default=False)
def __str__(self):
return f"{self.title}"
Модель категории:
class Category(models.Model):
title = models.CharField(max_length=50)
def __str__(self):
return f"{self.title}"
Например, у меня есть несколько категорий, например, отели, рестораны и т. Д. Поэтому я хочу, чтобы у каждой категории были разные функции(переключатели при добавлении нового), но я не уверен, как правильно с этим справиться. В отелях должны быть комнаты, бассейн и т. Д. В ресторанах должны быть сельские кухни, места и т. Д. В будущем у меня будут и другие категории.
Вопрос: Какой самый лучший способ (практика)сделайте это.
Мое решение: Создать третью таблицу с объектами и каждой категорией, имеющую столбец features
, и хранить объекты, разделенные запятой, но это не очень хорошее решение на основе Нормализация БД .