首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置从django管理表单插入时另一列中的列的值

如何设置从django管理表单插入时另一列中的列的值
EN

Stack Overflow用户
提问于 2019-08-14 14:26:43
回答 1查看 124关注 0票数 0

我有一个图书库存表单,它有两列来表示股票价值:当前股票,第一次插入时股票,当前股票和股票应该是相同的,但是,当借书时,当前股票应该减少,股票列将是第一个值:例如: book1有股票5和当前股票5,有人借了book1,所以book1股票5和当前股票4,

我不想使用数据库触发器,因为我的应用程序是独立于数据库的。

请帮助我怎么做,我可以从django管理表单?

models.py:

代码语言:javascript
复制
class BooksCopy(models.Model):
    book = models.ForeignKey(Book, on_delete=models.PROTECT)
    branch = models.ForeignKey(Branch, on_delete=models.PROTECT)
    no_of_copies = models.IntegerField('Stock')
    current_no_of_copies = models.IntegerField('Current Stock')

admin.py:

代码语言:javascript
复制
class BooksCopiesAdmin(admin.ModelAdmin):
    models.BooksCopy.current_no_of_copies = models.BooksCopy.no_of_copies
    exclude = ('current_no_of_copies',)
    list_display = ('branch', 'book', 'no_of_copies', 'current_no_of_copies',)
EN

回答 1

Stack Overflow用户

发布于 2019-08-15 03:05:30

我假设你有一些保存借阅书籍的类,以及由哪个用户提供。就像这样

代码语言:javascript
复制
class BorrowedBooks(models.Model)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    book = models.ForeignKey(Book, on_delete=models.CASCADE)

您现在可以

代码语言:javascript
复制
class BooksCopy(models.Model):
    book = models.ForeignKey(Book, on_delete=models.PROTECT)
    branch = models.ForeignKey(Branch, on_delete=models.PROTECT)
    no_of_copies = models.IntegerField('Stock')

    @property
    def current_no_of_copies (self):
        return self.no_of_copies - self.borrowedbooks_set.all()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57489175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档