📅  最后修改于: 2023-12-03 14:51:35.983000             🧑  作者: Mango
在 Django 中,我们可以基于另一个字段来创建新的字段,这使得我们可以更加方便地重用和扩展代码,特别是在模型定义中。
以下是一个示例模型定义,其中基于另一个字段创建了新的字段:
# 引入必要的包
from django.db import models
# 定义模型
class Person(models.Model):
# 基于 name 字段创建了一个新字段
name = models.CharField(max_length=100)
name_lower = models.CharField(max_length=100, editable=False)
# 指定 name_lower 字段的值
def save(self, *args, **kwargs):
self.name_lower = self.name.lower()
super(Person, self).save(*args, **kwargs)
def __str__(self):
return self.name
在这个示例中,我们在 Person
模型中定义了两个字段,name
和 name_lower
。name_lower
字段是通过 name
字段自动生成的,并且它的值是 name
字段值的小写形式。
我们还覆盖了 save()
方法来设置 name_lower
字段的值。这使得我们可以在创建或更新 Person
对象时自动设置 name_lower
字段的值。
基于另一个字段创建 Django 模型字段是一个非常有用的技术,它使得我们可以更加方便地重用和扩展代码。在上面的示例中,我们展示了如何基于一个字段创建一个新的字段,并在模型上覆盖 save()
方法以自动设置新字段的值。