2014-12-07 2 views
0

У меня есть тезисы модели и админ модели, как показано Белойдобавления дополнительной строки в шаблоне инлайн Джанго

Я хочу, чтобы в модели для транзакции, чтобы отобразить общее количество (то будет это сумма сумма поля)

Eсть не метод для списка изменений в Inline Как мне это сделать?

class TransactionAdmin(admin.ModelAdmin): 
    inlines = [TransactionAmountInline, AmountPaidInline, PhotosInline] 
    fields = ('customer', 'title', 'description', 'created_at') 
    readonly_fields = ('updated_at',) 
    list_display = ('title', 'customer') 


class AmountPaidInline(admin.TabularInline): 
    model = AmountPaid 
    extra = 0 


class AmountPaid(models.Model): 
    transaction = models.ForeignKey(Transactions) 
    description = models.TextField(null=True) 
    amount = models.DecimalField(max_digits=19, decimal_places=4) 
    created_at = models.DateTimeField(auto_now_add=True) 
    updated_at = models.DateTimeField(auto_now=True) 

ответ

1

Вы должны добавить эту функцию в свою модель Сделки.

def sum_amount (self): 
    return AmountPaid.objects.filter(transaction=self).aggregate(total=Sum('amount'))['total'] 

И добавить имя функции к опции list_display из TransactionAdmin, модель администратора:

list_display = ('title', 'customer', 'sum_amount') 
+0

спасибо за Ваш ответ на самом деле то, что я, что я хочу, чтобы отобразить sum_amount в виде изменения (если вы нажимаете ссылку на транзакцию) Я знаю, что могу переопределить вид списка изменений и добавить общую сумму в дополнительный контекст, но я хочу отобразить общую сумму в форме AmountPaidInline, которая будет отображаться. – user2388404

+0

В простой форме я хочу добавьте еще одну строку в строку, чтобы отобразить общую сумму в модели AmountPaind – user2388404

+0

, пожалуйста, дайте мне больше h elp в этом – user2388404

Смежные вопросы