У меня есть эти модели:
class Unit(AppModel):
name = models.CharField(max_length=255)
def __str__(self):
return self.name
class Item(AppModel):
title = models.CharField(max_length=255)
units = models.ManyToManyField("Unit", symmetrical=False, related_name="items")
def __str__(self):
return self.title + self.units
class Invoice(AppModel):
items = models.ManyToManyField("Item", symmetrical=False, related_name="invoices")
def __str__(self):
return "invoice_" + self.id
Как видите, у нас есть Item
с несколькими units
и Invoice
с несколькими items
.
Но я хочу, чтобы каждый item
в Invoice
имел только один unit
. Как этого добиться?
т.е. some_item.units
должен возвращать все свои типы единиц измерения. Принимая во внимание, что for item in some_invoice.items: return item.units
должен вернуть единицу.
Есть ли другой способ реализовать это? Новый дизайн базы данных ?? Тогда как? Помогите ..
Примечание : я не смог создать заголовок этого сообщения. Не стесняйтесь делать это. Спасибо.