首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django模型与同一个表中的2个外键

Django模型与同一个表中的2个外键

在Django模型中,可以定义多个外键关联到同一个表。这种情况下,需要使用models.ForeignKey来定义外键字段,并指定to参数来指定关联的表。

例如,假设有一个User模型和一个Post模型,Post模型中有两个外键字段authoreditor,它们都关联到User模型。可以这样定义Post模型:

代码语言:python
代码运行次数:0
复制
from django.db import models
from .models import User

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='posts_authored')
    editor = models.ForeignKey(User, on_delete=models.CASCADE, related_name='posts_edited')

在上面的例子中,authoreditor字段都是外键,它们关联到User模型。on_delete参数指定了当关联的User对象被删除时,Post对象的行为。related_name参数则指定了反向关联的名称,即User模型中可以通过posts_authoredposts_edited来获取与该用户相关的所有Post对象。

需要注意的是,在定义多个外键关联到同一个表时,需要为每个外键字段指定不同的related_name参数,以避免命名冲突。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券