Использование tastypie для извлечения данных из внешнего ключа - PullRequest
0 голосов
/ 14 марта 2019

Это две модели в моем приложении 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)

Я пытаюсь получить данные из Posts, используя запрос API к Unposted. Вот что у меня есть до сих пор, но я не уверен, как получить данные из модели Posts. Сейчас я просто получаю ответ JSON только с полем upload_at.

resources.py

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

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

В этом случае Posts - это внешний ключ Unposted, поэтому вам нужно определить поле внешнего ключа в ресурсе для соответствующего поля в модели, этот учебник может вам помочь.

0 голосов
/ 04 апреля 2019

Если я не ошибаюсь, вы можете просто импортировать вашу модель сообщений, а затем просто за цикл for сделать массив с моделями сообщений, используя внешний ключ из неопубликованных для фильтрации ваших сообщений =) Звучит странно, и я не уверен в эффективности , но выглядит довольно мило. Это будет выглядеть примерно так:

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