Фильтр фреймворка django на внешней таблице - PullRequest
0 голосов
/ 06 июня 2019

Я пишу API в django rest framework, я хочу сделать фильтр для таблицы внешнего ключа.

хочу сделать фильтр в таблице scripts_details согласно пользователю.Так как scripts_details не имеет пользователя, я пытаюсь отфильтровать таблицы сценариев.но этого не происходит.

я устал return ScriptDetails.objects.filter(script=scriptid, script.user=self.request.user)

Models.py

class Scripts(models.Model):
    tutorial = models.OneToOneField(TutorialDetail)
    language = models.ForeignKey(Language)
    status = models.BooleanField(default=False)
    data_file = models.FileField(upload_to='scripts',blank=True)
    user = models.ForeignKey(User,related_name='user_id')


class ScriptDetails(models.Model):
    cue=models.TextField()
    narration=models.TextField()
    order=models.PositiveIntegerField()
    script=models.ForeignKey('Scripts', on_delete = models.CASCADE)

serializer.py

class ScriptsDetailSerializer(serializers.ModelSerializer):

  class Meta:
    model=ScriptDetails
    fields=('cue','narration','order','script')

views.py


class ScriptsDetailsList(generics.ListCreateAPIView):
    serializer_class=ScriptsDetailSerializer

    def get_queryset(self):
      scriptid = self.kwargs.get('scriptid')
      return ScriptDetails.objects.filter(script=scriptid)

urls.py

url(r'^api/scriptsdetails/(?P<scriptid>[0-9]+)/', views.ScriptsDetailsList.as_view())
...