简体   繁体   中英

HTML form in Django REST frameWork and RelatedField

I have the user settings model:

class UserSettings(models.Model):
     user = models.ForeignKey('userprofile.UserProfile'  related_name='own_user')
     lookup_user = models.ManyToManyField('userprofile.UserProfile')

I have written a custom field:

class SettingKeywordsField(serializers.RelatedField):
     def to_native(self, value):
         eturn { str(value.pk): value.username }

and using in serializer:

class SettingsSerializer(serializers.ModelSerializer):
      lookup_user = SettingKeywordsField(many=True)
      class Meta:
         model = UserSettings
         fields = ('lookup_user')

In this situation, lookup_user is not appear in html form tab.

What is wrong in my serializer?

serializers.RelatedField defaults to read_only=True ...try:

class SettingsSerializer(serializers.ModelSerializer):
    lookup_user = SettingKeywordsField(many=True, read_only=False)
    class Meta:
        model = UserSettings
        fields = ('lookup_user')

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM