При использовании функции объединения кверисетов 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 что-то вызывает, но я не знаю точно, почему.