如何在Django中创建抽象模型类

如何在Django中创建抽象模型类

Django是一个高水平的Python Web框架,鼓励快速开发和简洁、务实的设计。它由经验丰富的开发人员构建,解决了网络开发的许多麻烦,因此你可以专注于编写你的应用程序,而不需要重新发明车轮。它是免费和开源的。

什么是模型继承

Django中的模型继承与python中普通类的继承工作方式几乎相同。在这篇文章中,我们将围绕如何在Django模型中创建抽象的基类。

抽象的基类:-

当你想把一些共同的信息放到其他一些模型中时,抽象基类很有用。你编写你的基类并在元类中放入抽象 = True。假设你有两个模型学生和教师。

models.py

from django.db import models
  
  
class Student(models.Model):  # STUDENT
    name = models.CharField(max_length=100)
    rollno = models.IntergerField()
  
  
class Teacher(models.Model):  # TEACHER
    name = models.CharField(max_length=100)
    ID = models.IntergerField()

那么你有没有注意到,有一个字段的名称在两个模型上是共同的。

因此,我们没有在两个模型中添加共同的字段,而是创建了另一个模型,并将这些共同的字段放在该模型中。

models.py

from django.db import models
  
  
class common(models.Model):  # COMM0N
    name = models.CharField(max_length=100)
  
    class Meta:
        abstract = True

因此,在这里我创建了一个通用模型,并将通用字段放在该模型中。

在Meta类中放入abstract = True。设置abstract True后,现在它变成了一个抽象类,而不是一个模型,所以现在你不能生成一个数据库表。

class Student(common):  # STUDENT
    rollno = models.IntegerField()
  
  
class Teacher(common):  # TEACHER
    ID = models.IntegerField()

Ubuntu

python3 manage.py makemigrations
python3 manage.py migrate

现在你可以在学生和教师中继承共同的名字字段了。就像普通的Python继承一样。

输出 :

如何在Django中创建抽象模型类?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Django 教程