DT
Size: a a a
Z
DT
Z
@property
def quantity(self):
return self.on_hands + self.in_warehouse
h
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.SlugField
def 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