是否可以在 Django Rest Framework 中发布外部数据而不是数据的“ID”?我正在研究 HyperlinkedModelSerializer,但是我觉得 DRF 网站上没有足够的文档。我有两个型号。 Showtime 有一个到 Cinema 的链接。
class Cinema(models.Model):
name = models.TextField("Name",)
slug = models.SlugField("Slug",blank=True)
phone = models.TextField("Phone")
phone2 = models.TextField("Secondary Phone", blank=True, null=True)
email = models.EmailField("Email")
website=models.TextField("Website")
location = models.TextField("Location")
def __unicode__(self):
name = (self.name).title()
return name
def save(self, *args, **kwargs):
self.slug = slugify(self.name)
super(Cinema, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse('Cinema:detail', kwargs = {'slug': self.slug })
class Showtime(models.Model):
cinema = models.ForeignKey(Cinema)
showDate = models.TextField("Date",)
showTime = models.TextField("Time",)
slug = models.SlugField("Slug", blank=True, unique=True)
def save(self, *args, **kwargs):
self.slug = uuid.uuid4()
super(Showtime, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse('Showtime:detail', kwargs = {'slug': self.slug})
每个模型均已使用 DRF 进行序列化。是否可以通过 Showtime API View 发布影院数据,而不必先在 Cinema API View 中发布电影,然后获取该字段的 ID,然后通过 Showtime View 发布以链接数据?
基本上,我想要的是完全可写的外键支持,或者 DRF 是否支持 get_or_create() 之类的东西?
最佳答案
您可以嵌套序列化器。请参阅 http://www.django-rest-framework.org/api-guide/serializers#dealing-with-nested-objects 处的文档举个例子。
关于Django Rest Framework,POSTable 外部数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24225461/