我正在尝试在管理员中显示反向M2M关系,即针对以下模型,不仅仅针对给定服务显示它所覆盖的区域,而且我还希望在给定区域中查看哪些服务是。付款类型也一样。对于反向视图,最好查看哪些空条目,例如在付款类型中,单击null并查看尚未为哪些服务分配付款类型。 (我似乎在某些服务中有这个,即使我没有在ManytoManyField声明中指定null = true, - 不确定M2M字段是否默认允许这样做?)
class Service(models.Model):
name = models.CharField(max_length=255)
supplier = models.ForeignKey(Supplier)
payment_methods = models.ManyToManyField(PaymentMethod)
region = models.ManyToManyField(Region)
class Region(models.Model):
unique_id = models.IntegerField(unique=True)
name = models.CharField(max_length=255, blank=True)
def __str__(self):
return str(self.unique_id)
class PaymentMethod(models.Model):
MONTHLY_DIRECT_DEBIT = 'MDD'
CASH_OR_CHEQUE = 'CAC'
QUARTERLY_DIRECT_DEBIT = 'QDD'
PAYMENT_CHOICES = (
(MONTHLY_DIRECT_DEBIT, 'Monthly Direct Debit'),
(CASH_OR_CHEQUE, 'Cash or Cheque'),
(QUARTERLY_DIRECT_DEBIT, 'Quarterly Direct Debit'),
)
unique_id = models.CharField(max_length=3, choices=PAYMENT_CHOICES)
name = models.CharField(max_length=255, unique=True)