【问题标题】:Using tastypie to retrieve data from foreign key使用美味派从外键中检索数据
【发布时间】:2019-08-05 06:34:30
【问题描述】:

这是我的 Django 应用程序中的两个模型:

models.py

class Posts(models.Model):
    title = models.CharField(max_length=200, blank=True)
    author = models.ForeignKey(user,on_delete=models.CASCADE,default=None, blank=True)
    content = models.TextField()

class Unposted(models.Model):
    article = models.ForeignKey(Posts, on_delete=models.CASCADE)
    upload_at = models.DateTimeField(default=datetime.now, blank=True)

我正在尝试使用对 Unposted 的 API 请求从 Posts 检索数据。 这是我到目前为止所拥有的,但我不确定如何从 Posts 模型中获取数据。现在我只收到了一个 JSON 响应,其中只有 upload_at 字段。

resources.py

class UnpostedResource(ModelResource):
    class Meta:
        queryset = Unposted.objects.all()
        resource_name = 'unposted'

【问题讨论】:

  • 您是否需要一个单独的模型来存储文章的“已发布/未发布”状态,而不是直接在 Posts 模型中保存该信息?

标签: python django tastypie


【解决方案1】:

如果我没记错的话,你可以导入你的 Posts 模型,然后通过 for 循环使用未发布的外键创建一个包含帖子模型的数组,以过滤你的帖子 =) 听起来很奇怪,我不确定有效性,但看起来还不错。它看起来像:

queryset = Posts.objects.filter(article_in=[get(i.article) for i in Unposted.objects.all()])

【讨论】:

    【解决方案2】:

    如果PostsUnposted的外键,则需要在资源中为模型中的相应字段定义外键字段,this tutorial也许可以帮助您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-01
      • 2012-12-17
      • 2015-02-17
      • 2012-03-07
      • 1970-01-01
      • 2017-01-30
      • 2014-04-18
      • 2012-10-30
      相关资源
      最近更新 更多