0
我的models.py是如下,得到用戶ID的用戶名在Django模型
id = models.AutoField(primary_key=True)
user = AutoOneToOneField(User, primary_key=False,default=1)
member_name = models.CharField(max_length=25, blank=False, default='')
ph_no = models.CharField(max_length=25, blank=False, default='')
我views.py爲GET & POST請求低於,
Class MemberList(generics.ListAPIView):
queryset = members.objects.all()
serializer_class = MemberSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
class MemberCreate(generics.CreateAPIView):
queryset = members.objects.all()
serializer_class = MemberSerializer
permission_classes = (permissions.IsAdminUser,)
現在在創建數據POST請求工作正常,我提供的用戶值爲「1或2或3等」取決於Django的默認用戶模塊,這些用戶已經創建。
現在,當我做GET請求時,它只會返回用戶ID的數字1或2等。
有什麼辦法,我可以用一些方法來覆蓋,並獲取用戶名,而不是用戶ID在我的GET請求
它說,我必須使用查詢集的說法與下面的錯誤,「Asse田:關係字段必須提供一個'queryset'說法,重寫'get_queryset',或設置read_only ='True'。「 –
@NaggappanRamukannan你需要添加queryset參數到PrimaryKeyRelatedField:'user = serializers.PrimaryKeyRelatedField(write_only = True,queryset = User.objects.all())' – neverwalkaloner
是的,謝謝這是工作正常 –