[步骤] Django 模型字段别名的实现

注意:

在实现 Django 模型类字段别名之前要先创建一个链接了 MariaDB 数据库或 MySQL 数据库的 Django 项目

正文:

步骤目录:

步骤一: 在 users 应用数据库模板中修改 user 类

步骤二:测试 Django 模型类字段别名
2.1 配置 Django 环境
2.1.1 进入 Python 环境
2.1.2 引入 os 模块和 django 模块
2.1.3 调用 mysite.settings 的配置
2.1.4 让刚刚的调用生效
2.1.5 调用 mysite 项目 user 应用 models 模块里的所有内容
2.2 测试 Django 模型类字段别名

具体的操作步骤:

步骤一: 在 users 应用数据库模板中修改 user 类

在 mysite/users/models.py 中将以下内容:

......
# Student table, subordinate table, not unique
class Student(models.Model):
    sno = models.AutoField(primary_key=True)
    sname = models.CharField(max_length=30)
    cno = models.ForeignKey(ourCla,on_delete=models.CASCADE)

    def __str__(self):
        return u'Student:%s'%self.sname

修改为:

......
# Student table, subordinate table, not unique
class Student(models.Model):
    sno = models.AutoField(primary_key=True)
    sname = models.CharField(max_length=30)
    cno = models.ForeignKey(ourCla,on_delete=models.CASCADE,related_name='sts')

    def __str__(self):
        return u'Student:%s'%self.sname

步骤二:测试 Django 模型类字段别名
2.1 配置 Django 环境
2.1.1 进入 Python 环境

(django_env) [root@python mysite]# python3

2.1.2 引入 os 模块和 django 模块

>>> import os,django

2.1.3 调用 mysite.settings 的配置

>>> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
'mysite.settings'

2.1.4 让刚刚的调用生效

>>> django.setup()

2.1.5 调用 mysite 项目 user 应用 models 模块里的所有内容

>>> from user.models import *

2.2 测试 Django 模型类字段别名

>>> ourCla.objects.first().sts.all()
<QuerySet [<Student: Student:zhangsan>, <Student: Student:lisi>]>

(补充:这里的本来应该有 _set 参数,但是在 mysite.users.models.py 中设置了 related_name=’sts’ 后,就不再需要 _set 参数了,直接使用别名就可以了)