私はInstructor
モデルを持っています。このモデルは多くのフィールドからClient
モデルまでです。 (Instructor.clients
)ModelViewSet - フィールドを選択的に非表示にしますか?
モデル:
class InstructorProfile(models.Model):
'''Instructor specific profile attributes
'''
# Fields
office_number = models.CharField(max_length=30, blank=True, null=True)
location = models.CharField(max_length=30)
last_updated = models.DateTimeField(auto_now=True, editable=False)
# Relationship Fields
user = models.OneToOneField(settings.AUTH_USER_MODEL,
related_name="instructor_profile",
on_delete=models.CASCADE)
clients = models.ManyToManyField('ClientProfile', blank=True)
私のシリアライザは、現在、次のとおりです。私はclients
フィールドへのアクセスを防止したい
class InstructorProfileViewSet(viewsets.ModelViewSet):
"""ViewSet for the InstructorProfile class"""
queryset = models.InstructorProfile.objects.all()
serializer_class = serializers.InstructorProfileSerializer
permission_classes = [permissions.IsAuthenticated]
:
class InstructorProfileSerializer(serializers.ModelSerializer):
class Meta:
model = models.InstructorProfile
fields = '__all__'
とビューセットInstructor
が所属するユーザー以外のすべてのユーザー(利用可能e Instructor.user
モデルフィールド)。
どうすればこの問題を解決できますか?
モデルクラスを表示できますか? –
に講師モデルが追加されました – jramm