Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Django rest Serializer добавить поле без ключа. [RSS Feed]

#1 Июль 1, 2015 23:29:04

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Django rest Serializer добавить поле без ключа.

К примеру есть у меня запрос который отправляет данные

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   

Отредактировано Mazay_Ka (Июль 1, 2015 23:29:47)

Офлайн

#2 Июль 1, 2015 23:37:06

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Django rest Serializer добавить поле без ключа.

Чем создаете то, Django REST?

Офлайн

#3 Июль 2, 2015 09:11:14

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Django rest Serializer добавить поле без ключа.

Я извиняюсь может не совсем понял вопрос, отправляю
requests.post()

в urls

url(r'^users_post/$', views.UsersEdit.as_view({'get': ‘list’, ‘post’: ‘create’}), name='users_post'))

Офлайн

#4 Июль 2, 2015 11:12:46

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Django rest Serializer добавить поле без ключа.

Офлайн

#5 Июль 2, 2015 19:34:19

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Django rest Serializer добавить поле без ключа.

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

Офлайн

  • Начало
  • » Django
  • » Django rest Serializer добавить поле без ключа.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version