Как объединить несколько таблиц или объединить несколько сериализаторов в Django?
У меня есть такой код для моделей:
class Users(models.Model):
first_name = models.CharField(max_length=32, blank=True, null=True)
last_name = models.CharField(max_length=32, blank=True, null=True)
email = models.EmailField(max_length=254, unique=True)
class Images(models.Model):
user= models.ForeignKey(Users, on_delete=models.RESTRICT)
encoded_pic = models.JSONField(
encoder=None, default=dict, blank=True, null=True)
pic_thumbnail_path = models.CharField(max_length=222, blank=True, null=True)
class WorkingDays(models.Model):
user= models.ForeignKey(Users, on_delete=models.RESTRICT)
day = models.DateField(blank=True, null=True)
enter_time = models.DateTimeField(blank=True, null=True)
exit_time = models.CharField(max_length=32, blank=True, null=True)
class Departments(models.Model):
user= models.ForeignKey(Users, on_delete=models.RESTRICT)
department_name = models.CharField(max_length=32, blank=True, null=True)
Вот сериализаторы:
class UserssSerializer(serializers.ModelSerializer):
class Meta:
model = Users
fields = '__all__'
class ImagesSerializer(serializers.ModelSerializer):
class Meta:
model = Images
fields = '__all__'
class WorkingDaysSerializer(serializers.ModelSerializer):
class Meta:
model = WorkingDays
fields = '__all__'
class DepartmentsSerializer(serializers.ModelSerializer):
class Meta:
model = WorkingDays
fields = '__all__'
Я попробовал этот код, но он возвращает только поля изображений, а не все остальные
data=Images.objects.filter(user_id__workingdays=pk).values()
Я хочу сделать inner join images, workingdays и departments таблицу, используя поле user_id. также есть ли возможность объединить сериализаторы всех этих 3 таблиц, чтобы сериализатор возвращал все поля из всех 3 таблиц?