以下代码示例为一个名为'生日员工”的Django模型,包含员工的姓名、生日和部门信息。
from django.db import models
class Department(models.Model):
name = models.CharField(max_length=100, verbose_name="部门")
class Meta:
verbose_name = "部门"
verbose_name_plural = "部门"
class Employee(models.Model):
name = models.CharField(max_length=100, verbose_name="姓名")
birthday = models.DateField(verbose_name="生日")
department = models.ForeignKey(Department, on_delete=models.CASCADE, verbose_name="部门")
class Meta:
verbose_name = "生日员工"
verbose_name_plural = "生日员工"
在上述代码中,我们定义了两个模型,一个是'部门”模型,另一个是'员工”模型。在'员工”模型中,我们定义了三个字段:姓名(CharField类型)、生日(DateField类型)和部门(ForeignKey类型)。ForeignKey字段可以在员工和部门之间建立一对多的关系。对于生日字段,我们使用了DateField类型,因为它可以存储日期,并且提供了日期操作的方便性。
在模型定义中,我们使用了verbose_name选项,它允许我们为每个模型和字段提供更用户友好的名称。在这个例子中,我们'Employee”模型的verbose_name设置为'生日员工”。
在使用上述模型时,我们可以创建新员工并将其分配到一个特定的部门:
#创建新部门
department = Department.objects.create(name="技术部门")
#创建新员工
employee = Employee.objects.create(name="张三", birthday="1995-06-02", department=department)
这里我们首先创建一个新部门,然后创建一个新员工并将其分配到该部门。生日字段应该按照YYYY-MM-DD格式提供。
如果我们想要查询所有员工的信息,我们可以使用以下代码:
employees = Employee.objects.all()
for employee in employees:
print(employee.name, employee.birthday, employee.department.name)
这将输出每个员工的姓名、生日和所属部门的名称。
这就是我们如何创建一个名为'生日员工”的Django模型