django - 如何确保一个事件可以有零个或多个会话?
问题描述
我有两个模型,我必须在这两个模型之间创建一个条件。条件可以是事件的 0 个或多个会话,如下所示。我怎样才能做到这一点。
class Session(models.Model):
name=models.CharField(max_length=100)
start_date=models.DateField()
end_date=models.DateField()
speaker=models.CharField(max_length=100)
slug = models.SlugField(unique=True, editable=False, max_length=100)
class Event(models.Model):
name = models.CharField(max_length=100)
start_date = models.DateField()
end_date = models.DateField()
session=models.ForeignKey(Session,on_delete=models.CASCADE)
slug = models.SlugField(unique=True, editable=False, max_length=100)
解决方案
目前您的模型Event
仅限于一个Session
,但后者可以有多个前一个模型。
ForeignKey
您可以通过on Session
to达到您想要的条件Event
,例如:
class Session(models.Model):
event = models.ForeignKey(Event, on_delete=models.CASCADE)
...
所以如果一个Event
存在,它可以没有Session
s,一个或多个。
您可以使用my_event.session_set.all()
.
推荐阅读
- angularjs - AngularJS ng-click 属性未在 ng-repeat 中的发布请求上更新
- cefsharp - 我可以安全删除哪些 CEF Sharp 文件?
- azure - 当 AKS API 授权范围到位时,Kubectl 不起作用
- javascript - Discord 随机图像机器人垃圾邮件
- reactjs - 如何在 Typescript 中获取 node_modules 包类型
- android - 带有嵌套导航图的循环参考
- node.js - 无法为调试节点模块设置环境变量
- r - 如何在 R Shiny 中分别更改 renderTable 中的列的位数
- css - 如何避免应用“-internal-autofill-selected”样式?
- postgresql - 在现有的 PostgreSQL 数据库中安装 Sonarqube helm chart 是否安全?