2013-08-08 2 views
1

Привет, я пытаюсь изучить django и django-restful-framework.Добавление большего количества полей или привязка пользователя к человеку

Мне было интересно, я могу добавить больше полей для пользователя (contrib.auth) как так

class UserSerializer(serializers.HyperlinkedModelSerializer): 

    class Meta: 
     model = User 
     fields = ('url', 'username', 'firstName', 'lastName', 'ssn', 'email', 
        'phone', 'jobTitle','image', 'isActive','groups') 

Это дает мне ошибку на ПгвЬЫате. Я также попытался связать это с человеком, но не повезло либо

class PersonSerializer(serializers.HyperlinkedModelSerializer): 
    owner = serializers.Field(source='owner.username') 

    class Meta: 
     model = Person 
     fields = ('url', 'firstName', 'lastName', 'ssn', 'owner') 



class UserSerializer(serializers.HyperlinkedModelSerializer): 
    persons = serializers.ManyHyperlinkedRelatedField(view_name='person-detail') 

    class Meta: 
     model = User 
     fields = ('url', 'username', 'persons') 

Я пытаюсь сделать это так, что пользователь может зарегистрировать с более подробной информацией.

ответ

3

Предлагаю вам отправиться в Django docs on extending and/or replacing the existing user model.

Как только вы получите то, что хотите, так как на уровне модели посмотрите, можете ли вы сериализовать это по вашим потребностям. (Если не почта снова.)

1

Имена полей являются строчными буквами с символами подчеркивания. Например, оно должно быть first_name, а не firstName.

Смежные вопросы