0
点赞
收藏
分享

微信扫一扫

[electron] 程序的生命周期

追梦人的自留地 2024-03-03 阅读 28

模型属性

模型方法

模型方法对应的是“行级操作”,对某一对象实例生效,模型属性中的Manager类对应的是“表格级操作”,可以想象有一张数据表格,模型方法可以对一行的数据进行操作,模型属性可以对一个表格进行操作。

from django.db import models


class Person(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    birth_date = models.DateField()

    def baby_boomer_status(self):
        "Returns the person's baby-boomer status."
        import datetime

        if self.birth_date < datetime.date(1945, 8, 1):
            return "Pre-boomer"
        elif self.birth_date < datetime.date(1965, 1, 1):
            return "Baby boomer"
        else:
            return "Post-boomer"

    @property
    def full_name(self):
        "Returns the person's full name."
        return f"{self.first_name} {self.last_name}"

重写模型方法
例子:

from django.db import models


class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()

    def save(self, *args, **kwargs):
        do_something()
        super().save(*args, **kwargs)  # 执行之前定义的“保存”方法
        do_something_else()
举报

相关推荐

0 条评论