Мутация для модели, которая содержит некоторые поля чужих

У меня есть модель подкаста:

class Podcast(models.Model):
    title = models.CharField(max_length=255,)
    user = models.ForeignKey(User, related_name="podcasts", on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now=True)
    channel = models.ForeignKey(Channel, related_name="podcasts", null=True, blank=True, on_delete=models.CASCADE)
    message = models.TextField()

Вот модель канала:

class Channel(models.Model):
    name = models.CharField(max_length=255, unique=True)
    slug = models.SlugField(allow_unicode=True, unique=True)
    description = models.TextField(blank=True, default='')

и я использовал get_user_model для модели User

Затем я хочу создать мутацию для модели Podcast. Как это можно сделать? Я знаю, что если в модели нет foreingkey, это будет сделано:

class CreatePodcast(graphene.Mutation):
    class Input:
        title = graphene.String(required=True,)
        message = graphene.String(required=True,)

    Output = PodcastType

    @staticmethod
    def mutate(root, info, **kwargs):
        podcast = PodcastModel(**kwargs)
        podcast.save()

        return podcast

Как я могу импортировать поле канала при создании подкаста по мутации?

0 ответов

Другие вопросы по тегам