0

Помогите, пожалуйста, решить проблему.

Я наследую модель от User:

class UserProfile(User):            
    gender = models.ForeignKey(
        Gender,
        verbose_name='Пол',
        blank=True,
        null=True,
    )
    nickname = models.CharField(
        'Отображаемое имя',
        max_length=50, 
        blank=False,
    )   
    phone = models.CharField(
        max_length=50, 
        blank=False,
    )
    skype = models.CharField(
        max_length=50, 
        blank=False,
    )   
    other = models.TextField(
        max_length=500,
        blank=False,
    )
    avatar = models.ImageField(
        upload_to='userprofile/avatar/', 
        blank=True,
        null=True,
    )

    objects = UserManager()

    @classmethod
    def get_new_authors_entries(self, cut_begin=0, cut_end=2):
        return self.objects.filter(is_active=1, is_superuser=0)[cut_begin:cut_end]

В результате get_new_authors_entries() возвращает следующий массив данных:

[
        {
            "fields": 
                {
                    "skype": "dfsdf", 
                    "user_permissions": [], 
                    "other": "zzzz", 
                    "nickname": "\u0418\u0432\u0430\u043d \u0422\u0443\u0440\u0433\u0435\u043d\u0435\u0432 \u0451\u043f\u0442\u0430", 
                    "gender": 1, 
                    "avatar": "", 
                    "phone": "2014-0921", 
                    "groups": []
                },

            "model": "app_accounts.userprofile", 
            "pk": 4
        },

        .....,
        .....,
        ....
    ]

Проблема в том, что этот массив не содержит полей: 'date_joined', 'username', 'email', а они есть в модели User. Подскажите, пожалуйста, как мне получить их.

Вот фрагмент из контроллера:

new_authors = UserProfile.get_new_authors_entries(cut_begin=page_new_authors, cut_end=page_new_authors + 2)

result = serializers.serialize('json', new_authors)

return HttpResponse(json.dumps(result), content_type='application/json')

2 ответа 2

1

https://stackoverflow.com/questions/2866105/json-serialization-of-a-django-inherited-model известная проблема. Правда, оба тикета в джанго закрыты, так что сначала попробуйте обновить версию.

0

Я думаю, вам просто нужно унаследоваться от модели AbstractUser, вместо User.

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.