У меня есть эта модель для моего бухгалтерского приложения:
class Simpleunits(models.Model):
User = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,null=True,blank=True)
symbol = models.CharField(max_length=32)
formal = models.CharField(max_length=32)
class Compoundunits(models.Model):
User = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,null=True,blank=True)
firstunit = models.ForeignKey(Simpleunits,on_delete=models.CASCADE)
conversion = models.DecimalField(max_digits=19,decimal_places=2)
secondunit = models.ForeignKey(Simpleunits,on_delete=models.CASCADE)
class Stockdata(models.Model):
User = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,null=True,blank=True)
stock_name = models.CharField(max_length=32)
unitsimple = models.ForeignKey(Simpleunits,on_delete=models.CASCADE,null=True,blank=True)
unitcomplex = models.ForeignKey(Compoundunits,on_delete=models.CASCADE,null=True,blank=True)
Я хочу создать пользовательский метод проверки в классе модели Stockdata, который, если пользователь упомянет и unitsimple, и unitcomplex, получит ошибку проверки: «Нужно указать только одну единицу» и наоборот ...
Я имею в виду, что пользователь может упомянуть только одну единицу: unitsimple или unitcomplex, если они упоминают обе, тогда они получат ошибку проверки ...
У кого-нибудь есть идеи, что мне делать в функции def clean (self) для достижения этой цели? ???
Заранее спасибо ...