Мои модели выглядят так:
class Article(models.Model):
name = models.CharField(max_length=50)
description = models.TextField()
price = models.FloatField()
def __unicode__(self):
return "%s - %s" % (self.name, self.price)
class Order(models.Model):
client = models.ForeignKey(User)
articles = models.ManyToManyField(Article)
total = models.FloatField(editable=False, blank=True, default=0)
def __unicode__(self):
return "%s - %s" % (self.client.username, self.total)
def save(self):
for a in self.articles:
self.total += a.price
super(Order, self).save()
И я пытаюсь рассчитать общую стоимость в save (). Если я пытаюсь сохранить заказ через админа, я получаю
Экземпляр 'Order' должен иметь значение первичного ключа, прежде чем можно будет использовать отношение многие ко многим
Если я позвоню
super(Order, self).save()
перед подсчетом суммы я получаю
Объект ManyRelatedManager не повторяется
.
Я не знаю, что делать ... Я думал о вычислении итогов в представлении, но я хотел бы сохранить его в своей базе данных.
Как перебрать все статьи в Order-Model?
Заранее спасибо:)