【发布时间】:2018-03-13 06:31:58
【问题描述】:
数据库结构
用户,用户有多个事件,事件有多个参与者。
用户模型:
from django.db import models
class User(models.Model):
email = models.CharField(max_length=100, unique=True, null=True)
firstname = models.CharField(max_length=100, null=True)
lastname = models.CharField(max_length=100, null=True)
org_url = models.CharField(max_length=100, null=True)
office_username = models.CharField(max_length=100, null=True)
office_email = models.CharField(max_length=100, null=True)
isdeleted = models.BooleanField(default=False)
createdon = models.DateTimeField(auto_now_add=True, null=True)
modifiedon = models.DateTimeField(auto_now=True, null=True)
事件模型:
from django.db import models
from .user import User
class OEvent(models.Model):
frk_user = models.ForeignKey(User, on_delete=models.CASCADE)
o_event_id = models.CharField(max_length=250, null=True)
location = models.CharField(max_length=250, null=True)
starts_at = models.CharField(max_length=50, null=True)
ends_at = models.CharField(max_length=50, null=True)
event_title = models.CharField(max_length=150, null=True)
isdeleted = models.BooleanField(default=False)
createdon = models.CharField(max_length=50, null=True)
modifiedon = models.CharField(max_length=50, null=True)
参加者模型:
from django.db import models
from .o_events import OEvent
class OEventAttendee(models.Model):
frk_o_event = models.ForeignKey(OEvent, on_delete=models.CASCADE)
email = models.CharField(max_length=200, null=True)
name = models.CharField(max_length=200, null=True)
我可以像这样针对用户插入事件:
user.oevent_set.create(
o_event_id=nData['Id'],
location=nData['Location']['DisplayName'],
starts_at=startdt,
ends_at=enddt,
event_title=nData['Subject'],
isdeleted=False,
createdon=createdon,
modifiedon=modifiedon
)
添加这样的与会者的最佳、简单、快捷的方法是什么?
我假设一定有什么我们可以在 modifiedon 字段之后添加event_attendees list = attendees array。但是找不到类似的东西。
【问题讨论】:
-
如何使用
serializer并使用自定义.create()方法创建实例?
标签: python django django-models django-rest-framework