поэтому я создаю приложение с django django rest, и у меня есть некоторые проблемы со многими полями в моих моделях,
в приложении есть две модели, которые связаны параметром поля многие ко многими версия.проблема в том, что я хочу отфильтровать свою опцию и получить только опцию, относящуюся к номеру версии, и только к тем, которые имеют (по умолчанию True).вот мои модели
class Option(models.Model):
Code_Option = models.CharField(max_length=20, primary_key=True)
Nom_Option = models.CharField(max_length=100)
option_Version = models.ManyToManyField(Version,through='Option_Version')
class Option_Version(models.Model):
option = models.ForeignKey(Option, on_delete=models.CASCADE)
version = models.ForeignKey(Version, on_delete=models.CASCADE)
Default = models.BooleanField(default = False)
class Version(models.Model):
Code_Version = models.CharField(max_length=20, primary_key=True)
Nom_Version = models.CharField(max_length=200)
Id_Modele = models.ForeignKey(Modele, on_delete=models.CASCADE, related_name='Version_set')
и вот что я пытался сделать
class Option_defaut_Version(ListAPIView):
serializer_class = Option_Sereializer
def get_queryset(self):
id_version = self.kwargs['Id_Version']
//id version refers to Code_Version from Version (it's the PK) and I get it from the url ex: option/default/<srt:Id_Version>
return Option.objects.filter(option_Version__version = id_version).filter(option_Version__default = "True")
, а вот мои sereilasers:
class Option_Sereializer(serializers.ModelSerializer):
class Meta:
model = Option
fields = [
'Code_Option',
'Nom_Option',
'option_Version'
]
class Option_Version_Sereializer(serializers.ModelSerializer):
class Meta:
model = Option_Version
fields = [
'option',
'version',
'Default'
]
class Version_Sereializer(serializers.ModelSerializer):
class Meta:
model = Version
fields = [
'Nom_Version',
'Code_Version'
]
также я попробовал это:
class option_version_default(ListAPIView):
serializer_class = Option_Version_Sereializer
def get_queryset(self):
return Option_Version.objects.all()
результатом была ошибка:
AttributeError at /option/default/v1
type object 'Option_Version' has no attribute 'objects'
если бы кто-нибудь мог мне помочь, я бы оценил это
ps: я видел много других вопросов и ответовтакже док от django django rest, но это мне не помогло