Django model 表与表之间的关联(外键、一对多对多、联合主键)
    		       		warning:
    		            这篇文章距离上次修改已过428天,其中的内容可能已经有所变动。
    		        
        		                
                
from django.db import models
 
class Author(models.Model):
    name = models.CharField(max_length=100)
 
class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)  # 一对多关系
 
class Reader(models.Model):
    name = models.CharField(max_length=100)
    book = models.OneToOneField(Book, on_delete=models.CASCADE)  # 一对一关系
 
class Student(models.Model):
    name = models.CharField(max_length=100)
 
class Course(models.Model):
    title = models.CharField(max_length=100)
    students = models.ManyToManyField(Student)  # 多对多关系
 
class CombinedKeyModel(models.Model):
    key_part_1 = models.IntegerField()
    key_part_2 = models.CharField(max_length=100)
    class Meta:
        unique_together = [
            ('key_part_1', 'key_part_2'),
        ]这个例子展示了如何在Django模型中定义一对多、一对一和多对多的关系,以及如何使用联合主键。在这个例子中,我们定义了四个模型:Author、Book、Reader和Course,以及一个使用联合主键的模型CombinedKeyModel。每个模型都有相应的字段和关系指定,并且都继承自Django的models.Model基类。
评论已关闭