class Product(models.Model):
slug = models.SlugField()
class ModalProduct(models.Model):
modal = models.ForeignKey('Modal'),
product = models.ForeignKey(Product)
weight = models.SmallIntegerField(default=0)
class Modal(models.Model):
products = models.ManyToManyField(Product, through=ModalProduct, through_fields=('modal', 'product'))
ERRORS:
offers.Modal.products: (fields.E338) The intermediary model 'offers.ModalProduct' has no field 'modal'.
offers.ModalProduct: (fields.E336) The model is used as an intermediate model by 'offers.Modal.products', but it does not have a foreign key to 'Modal' or 'Product'.
очень-очень странный вид: речка за окном горит, чей-то дом хвостом виляет, песик из ружья стреляет, мальчик чуть не слопал мышку, кот в очках читает книжку, старый дед влетел в окно, воробей схватил зерно, да как крикнет, улетая: вот что значит запятая!
class Person(models.Model):
name = models.CharField(max_length=50)
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(
Person,
through='Membership',
through_fields=('group', 'person'),
)
class Membership(models.Model):
group = models.ForeignKey(Group, on_delete=models.CASCADE)
person = models.ForeignKey(Person, on_delete=models.CASCADE)
invite_reason = models.CharField(max_length=64)