При использовании функции объединения кверисетов django данные в кверисете, находящемся сзади, могут быть потеряны

При использовании функции объединения кверисетов django данные в кверисете, находящемся сзади, могут быть потеряны.

Структура модели, которую я использовал, выглядит следующим образом.

class Genre(models.Model):
    name = models.CharField(max_length=50)

class Top_Movie(models.Model):
    title = models.CharField(max_length=100)
    release_date = models.DateField()
    popularity = models.FloatField()
    vote_count = models.IntegerField()
    vote_average = models.FloatField()
    overview = models.TextField()
    poster_path = models.CharField(max_length=200)
    backdrop_path = models.CharField(max_length=200)
    genres = models.ManyToManyField(Genre, related_name="top_genre")
    year = models.IntegerField()
    ranking = models.IntegerField()

class Now_Movie(models.Model):
    title = models.CharField(max_length=100)
    release_date = models.DateField()
    popularity = models.FloatField()
    vote_count = models.IntegerField()
    vote_average = models.FloatField()
    overview = models.TextField()
    poster_path = models.CharField(max_length=200)
    backdrop_path = models.CharField(null=True, max_length=200)
    genres = models.ManyToManyField(Genre, related_name="now_genre")
    year = models.IntegerField()
    ranking = models.IntegerField()

Top_Movie.objects.all().union(Now_Movie.objects.all())

В описанной выше ситуации данные поля жанров Now_Movie потеряны.

Now_Movie.objects.all().union(Top_Movie.objects.all())

В описанной выше ситуации происходит потеря данных поля жанров Top_Movie.

Я не знаю, почему это происходит. Пожалуйста, помогите.

Я решил проблему, не используя объединение, но я хочу знать, почему это произошло.

Мое предположение заключается в том, что поле ManyToManyField что-то вызывает, но я не знаю точно, почему.

Вернуться на верх