Форум сайта python.su
В релизе 1.5 вроде появилась возможность легко переопределять модель User. А как это сделать? Например, добавить пару полей.
Офлайн
Нужно использовать абстрактную модель
примеры создания дополнительных полей для пользователя
Офлайн
Вы не подскажите где можно почитать про создание профиля пользователей?
Офлайн
так там же и про это есть
https://docs.djangoproject.com/en/1.7/topics/auth/customizing/#extending-the-existing-user-model
Офлайн
Битый день уже пытаюсь воспользоваться AutoOneToOneField, но как-то безуспешно.
Кто-нибудь сможет подсказать где я ошибаюсь и что делаю не так?
models.py
from task.fields import AutoOneToOneField from django.contrib.auth.models import User, UserManager class Profile(models.Model): user = AutoOneToOneField(User, primary_key=True) task_count = models.IntegerField('Выполнено задач', blank=True, default=0) class Meta: verbose_name = 'Профиль' verbose_name_plural = 'Профили'
from django.db.models import OneToOneField from django.db.models.fields.related import SingleRelatedObjectDescriptor class AutoSingleRelatedObjectDescriptor(SingleRelatedObjectDescriptor): def __get__(self, instance, instance_type=None): try: return super(AutoSingleRelatedObjectDescriptor, self).__get__(instance, instance_type) except self.related.model.DoesNotExist: obj = self.related.model(**{self.related.field.name: instance}) obj.save() return obj class AutoOneToOneField(OneToOneField): def contribute_to_related_class(self, cls, related): setattr(cls, related.get_accessor_name(), AutoSingleRelatedObjectDescriptor(related))
def index(request): profile = Profile.objects.get(pk=1) return HttpResponse(profile)
Django Version: 1.6 Exception Type: DoesNotExist Exception Value: Profile matching query does not exist.
Офлайн
Спасибо slav0nic'у))
Я неправильно готовил - надо было обращаться к профилю не напрямую, а через модель)))) User
Офлайн
ZaEzzz
ты дурачек шоле?
Пост slav0nic очень старый и сейчас богоугодно делать как говорит inoks.
Офлайн
Rusich, на данном этапе мне это не надо
Сейчас мне нужно, чтобы просто объекты в связанной модели автоматом создавались при обращении к ним и не было громадного кол-ва значений - порождает неудобство при просмотре БД.
Офлайн