Django 管理外键问题,

问题描述 投票:0回答:1

以下是我在Django中的模型。

class Authors(models.Model):
    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    total_books = models.IntegerField(default =0)

class Book(models.Model):
    title = models.CharField(max_length=200)
    topic = models.CharField(max_length=200)
    author = models.ForeignKey(Authors, on_delete = models.CASCADE)`

我想用管理平台实现:当我添加新书时,相关作者的total_books增加1,有什么办法解决吗?

如果有人帮助我,我会采纳它。

有人可以给我一些想法吗?

python django admin
1个回答
0
投票

这非常简单,您需要重写

save
方法

class Book(models.Model):
    title = models.CharField(max_length=200)
    topic = models.CharField(max_length=200)
    author = models.ForeignKey(Authors, on_delete = models.CASCADE)

    def save(self,*args,**kwargs):
        self.author.total_books +=1
        super(Book,self).save(*args,**kwargs)
© www.soinside.com 2019 - 2024. All rights reserved.