Как сделать модели в Django, которые имеют разные модели в виде столбцов таблицы, которые указаны при разных условиях? - PullRequest
0 голосов
/ 22 октября 2018

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

class booking_period(models.Model):
    booking_period_start = models.DateField(auto_now=False)
    booking_period_end = models.DateField(auto_now=False)
    booking_person_name = models.CharField(max_length=200)


class Furniture(models.Model):
    furniture_type = models.CharField(max_length=200)
    furniture_owner_name = models.CharField(max_length=200)
    furniture_booking = models.ManyToManyField(booking_period)

    def __str__(self):
        return self.furniture_type

Затем в администраторе django я добавил класс мебели, чтобы мы могли добавлять моделисами.Проблема заключается в том, что конкретная мебель может иметь несколько периодов бронирования, и они не могут пересекаться друг с другом.Таким образом, у мебели может не быть периода бронирования, в то время как у другой может быть 5 или 10 периодов бронирования.Кроме того, разные предметы мебели могут иметь несколько разные периоды бронирования.Таким образом, если мы добавим все возможные периоды бронирования в период бронирования таблицы, это займет много места.Будет очень полезно, если кто-нибудь подскажет мне лучший способ сделать это, чтобы я мог добавить мебель через админ-панель django.

...