DT
Size: a a a
Z
DT
Z
@property
def quantity(self):
return self.on_hands + self.in_warehouseh
h
Z
DT
Z
DT
Z
eds1 = NumberBooks.objects.all().filter(deleted=False, school=self.school).annotate(
quantity=Sum('on_hands', 'in_warehouse')
).values('edition_id', 'quantity')NO
slug = models.SlugFielddef save(self, *args, **kwargs):
if self.SLUG_SOURCE is None:
raise ValueError('SLUG_SOURCE should not be null')
field = self._meta.get_field(self.SLUG_SOURCE)
source = field.value_from_object(self)
self.slug = slugify(unidecode(source), allow_unicode=True)
super().save(*args, **kwargs)
a-bla-bla, bla-bla-bla-1, bla-bla-bla-2 итд, но т.к. метод save вызывается внутри atomic блока, то никакие селекты сделать нельзя. try-catch на дубликат тоже не сработал, потому что после catch нельзя вызвать super() классаAM

Z

AM