from django.db import models
from django.contrib.auth.models import User
class Product(models.Model):
name = models.CharField(max_length = 127)
description = models.TextField()
code = models.CharField(max_length = 30)
lot_no = models.CharField(max_length = 30)
inventory = models.IntegerField()
commited = models.IntegerField()
available = models.IntegerField()
reorder = models.IntegerField()
created_date = models.DateField(auto_now_add = True)
comment_user = models.ForeignKey(User, null=True)
comment_txt = models.TextField()
def __unicode__(self):
return self.code + " - " + self.name + " - " + self.lot_no + " - " + str(self.created_date)
Мне было интересно, как я смогу иметь математическую функцию, такую, что доступный = инвентарь - такой, что когда кто-то войдет в значения для инвентаря и уйдет, он вычтет 2 и поместит это значение в доступное. Тогда, если переупорядочить инвентарь - доступно, <= доступно, оно будет обозначаться как красное текстовое поле или что-то в этом роде.
Спасибо
например, если reorder is <= доступно, чем поле целочисленного переупорядочения, появится как красный флаг, говорящий, что вам нужно изменить порядок или что-то подобное.
Я не понимаю ваше последнее предложение, но для остальной части его, показывая вычисленное поле в списке admin_display, просто - просто создайте метод для модели или администратора. В вашем случае проще всего удалить существующее "доступное" поле и использовать метод модели, помеченный как свойство.
@property
def available(self):
return self.inventory - self.committed