asdz: Специалисты имеют привычку навязывать новичкам свою точку зрения, основанную на опыте, но от этого не менее субъективную. Работая со специалистами, я скорее научусь работать со специалистами, чем делать всё правильно.
asdz: Вот эта одна и очень узкая область - веб. Что я перепрыгнул? Что нужно изучить, чтобы не быть быдлокодером, а быть пусть пока не экспертом, но хотя бы специалистом?
Нравятся сайты. Очень. Только вот возникает очень много вопросов. Судя по всему - из-за отстутсвия теории. Вот и вопрос: каких основ в моём мозгу не хватает, чтобы чувствовать себя уверенно в этой сфере?
Мне нравится мысль о том, что у меня будут прямые руки в вебе. Хочу веб. Не хочу криворукий веб. Что учить? Есть примерно месяц, пока не потрачу оплату за текущий проект.
Код упростить нельзя, потому что на каждой из линий действуют свои правила (на 1 и 2, например, нужно пригласить 5 за месяц, чтобы получить сумму A, иначе - B и так далее). Проблема решена откатом к предыдущей версии и написанию функционала с нуля. Всё заработало. Хоть и косвенно, но ваш ответ мне помог, так что отмечаю как решение. Спасибо.
def pay_to_parent(self, line, five_per_period):
parent = self.get_parent_of_level(line)
if parent:
from payments.models import CompanyToClientPayment
if line == 1:
CompanyToClientPayment(client=parent, use_date=date.today(),
total=prices[0][1] if five_per_period else prices[0][0]).save()
if line == 2:
CompanyToClientPayment(client=parent, use_date=date.today(),
total=prices[1][1] if five_per_period else prices[1][0]).save()
if line == 3:
CompanyToClientPayment(client=parent, use_date=date.today(),
total=prices[2]).save()
if line == 4:
CompanyToClientPayment(client=parent, use_date=date.today(),
total=prices[3]).save()
def save(self, *args, **kwargs):
if not self.is_paid:
if self.date <= date.today():
self.pay()
super(CompanyToClientPayment, self).save(*args, **kwargs)
def pay(self):
if not self.is_paid:
self.client.capital += self.total
self.is_paid = True
self.client.save(newbie=False)
self.save()
Непонятно, куда писать. Как регистрировать в list_filter? Хочу, чтобы было так:
class ClientAdmin(models.Model):
#...
....list_filter=['is_defaulter', ]
editable=False просто выпиливает поле, readonly_fields применяется не только к существующим объектам, но и к полям ещё не существующих. Было принято решение вообще убрать инлайны из ChangeForm удобства интерфейса ради. Спасибо за внимание.