所以基本上我的應用程序有當然用戶,每個用戶可以創建5個「ModelA」實例。很簡單,但也有「ModelB」與「ModelA」和用戶模型的關係。我希望用戶能夠創建總共15個「ModelB」實例,但每個「ModelA」實例只能綁定5個「ModelB」實例?我有一個複雜的模型問題...更多的信息
任何提示?
予處理的第一部分供每個用戶5 「MODELA」 實例的方式是這樣的:
def clean(self):
new_instance = self.__class__
if (new_instance.objects.count() > 4):
raise ValidationError(
"Users may only create 5 %s." % new_instance.verbose_name_plural
)
super(ModelA, self).clean()
由於
編輯:(內置在假定的Django用戶的功能)
class ModelB(models.Model):
user = models.ForeignKey(User)
modelA = models.ForeignKey('ModelA')
other_field = models.CharField(max_length=50)
class ModelA(models.Model):
user = models.ForeignKey(User)
other_field = models.CharField(max_length=50)
基本上用戶可以創建5個'ModelA'實例,並且對於每個實例他們可以創建3個'ModelB'實例。
我該如何在模型邏輯中做到這一點?
謝謝
如果您可以共享模型的定義將是有幫助的。 –
好吧,我會編輯我的答案。 – edhedges