Django:如何修改共享相同外键的其他条目中的相同字段?

时间:2016-05-03 08:14:06

标签: python django

我有两个模型,比如书和作者,如下:

class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    author = models.ForeignKey('Author')
    latest_book = models.BooleanField(default=True)

现在,当我创建一个链接到作者的新书时,“latest_book”字段将自动设置为True,到目前为止这很好......

例如,假设我有一个三部曲的作者:Book1,Book2和Book3 - Book3是最新的。

我有两个问题: 1 - 如何在保存Book3时将Book1和Book2的“latest_book”字段设置为false? 2 - 如果要删除Book3,如何将Book2的“latest_book”字段设置为true?

我之前也使用过一种方法,但问题是我无法使用BookAdmin中的list_filter来显示所有作者的最新书籍,因为我从未找到如何在方法结果上使用list_filter ... 我需要进行这种过滤,所以我现在尝试使用模型字段

1 个答案:

答案 0 :(得分:1)

很简单,你不会存储最新的书,你可以把它作为作者的方法或属性,可以进行查询来检索它

sudo echo "address host" >> /etc/hosts
-bash: /etc/hosts: Permission denied

将逻辑存储到数据库中是一个坏主意,它应该只存储数据。