Найти - Пользователи
Полная версия: Django rest Serializer добавить поле без ключа.
Начало » Django » Django rest Serializer добавить поле без ключа.
1
Mazay_Ka
К примеру есть у меня запрос который отправляет данные

data = {'name':'api', ‘password’: ‘12345’, ‘email’:'testing@mail.com', ‘comments’:'json_api', ‘skype’:'tester'}

модель

class Users(models.Model):
    email = models.EmailField('email', max_length=200, unique=True, db_index=True)
    name = models.CharField('name', max_length=200)
    password = models.CharField('password', max_length=200)
    time = models.DateTimeField(default=timezone.now)
    about_info = models.CharField('about_info', max_length=2000, default='')
    
    def __unicode__(self):              
        return self.about

модель serializer

class SnippetSerializer(serializers.Serializer):
    pk = serializers.IntegerField(read_only=True)
    email = serializers.CharField(max_length=200)
    name = serializers.CharField(max_length=200)
    password = serializers.CharField(max_length=200)
    time = serializers.DateTimeField(required=False)
    about_info = serializers.CharField(max_length=2000, required=False)
    
    class Meta:
        model = Users
        fields = ['email', 'name', 'password']
    def create(self, validated_data):
        return Users.objects.create(**validated_data)

как в создать юзера чтобы
'name':'api', ‘password’: ‘12345’, ‘email’:'testing@mail.com' попали по ключам, а все остальное попало в поле about_data
то есть пользователь
'name':'api',
'password': ‘12345’,
'email':'testing@mail.com'
'about_data':' ‘comments’:'json_api', ‘skype’:'tester'

view class
class UsersEdit(viewsets.ModelViewSet):
    queryset = Users.objects.all()
    serializer_class = SnippetSerializer   

inoks
Чем создаете то, Django REST?
Mazay_Ka
Я извиняюсь может не совсем понял вопрос, отправляю
requests.post()

в urls

url(r'^users_post/$', views.UsersEdit.as_view({'get': ‘list’, ‘post’: ‘create’}), name='users_post'))
Mazay_Ka
slav0nic
http://www.django-rest-framework.org/api-guide/relations/#nested-relationships
спасибо, если у меня модель одна и тут
{'name':'api', ‘password’: ‘12345’, ‘email’:'testing@mail.com', ‘comments’:'json_api', ‘skype’:'tester'}
может быть любое значение,
тоесть выбирать из запроса обязательные поля
name, password, email а все остальное что есть писать в поле about_info
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB