Я работаю над проектом с классом инвестиций и счетов в models.py. Способ, которым они работают, заключается в том, что пользователь вкладывает инвестиции, а при сохранении модели инвестиций создается счет-фактура. Вот соответствующий код:Получить текущего пользователя в моделях
class Investment(models.Model):
...
def save(self, *args, **kwargs):
current_investment = Investment.objects.get(pk=self.pk)
create_invoice = Invoice.objects.create(investment=current_investment,
fee_type='Mngmt.',
amount=self.amount*fee_amount)
class Invoice(models.Model):
user = models.ForeignKey(User)
investment = models.ForeignKey(Investment)
fee_type = models.CharField(max_length=24)
amount = models.DecimalField(max_digits=12, decimal_places=2, default=0)
date = models.DateTimeField(default=timezone.now, blank=True)
def __str__(self):
return self.investment.fund.name
Так в основном, когда инвестиционный класс сохранен объект Invoice создается, однако я хочу, чтобы получить текущий пользователь и установить его на поле пользователя в классе счетов. Любые идеи о том, как я могу это сделать? Благодарю.
Вы должны сделать это в представлении, т.е. http://stackoverflow.com/questions/4865084/set-form-author-field-to-logged-in-user-before-render – jpic
Спасибо за ссылку, но я надеялся достичь этого моего файла модели. Поскольку я надеюсь обновить базу данных, когда инвестиция закончилась, чтобы обновить ее, создайте другой объект счета-фактуры. – ng150716