170 похожих чатов

Здравствуйте! я извиняюсь за длинный текст рекомендуется независимо от бизнес модели,


только одна модель для аутентификации

пусть это будет User(AbstractUser)
и пусть будут Boss(models.Model) и Employee(models.Model)
с отношениями: user = OneToOneField(User)

тогда формы будут такие:
BossSignUpForm(UserCreationForm)
EmployeeSignUpForm(UserCreationForm)
в каждой из них class Meta(UserCreationForm.Meta): class = User

при регистрации человек выбрирает категорию и регистрируется каждый в своей форме
это все сохраняется только в модели(таблице) User

я открываю shell и пробую создать в таблице Boss нового юзера
>>> from users.models import User, Boss, Employee
>>> from users.forms import UserForm, BossSignUpForm
>>> u5 = {'username': 'u5', 'email': 'u5@u.ru', 'password1':'u5555555', 'password2':'u5555555'}
>>> b = BossSignUpForm(u5)
>>> b.is_valid()
True
>>> b.cleaned_data
{'username': 'u5', 'email': 'u5@u.ru', 'password1': 'u5555555', 'password2': 'u5555555'}
>>> b.save()
<User: u5>
>>> b = User.objects.get(username='u5')
>>> b
<User: u5>
>>> l = Boss.objects.create(user=b)
AttributeError: 'Boss' object has no attribute 'username'

username attribute есть в модели User
Boss model имеет только OneToOneField(User)

как мне добавить новый экземпляр боса,
чтобы это отражалось в таблицe Boss и в admin?

или я могу выложить код на pastbin, если нужно

8 ответов

7 просмотров

почему .create? .add

хотя нет, с о2о просто нужно поле указать

>>>- Автор вопроса

>>> l = Boss.objects.create(user=b) Здесь я через поле user пытаюсь это сделать. Поле юзер это как раз о2о

так ты create пишешь, то есть пытаешься не изменить поле у существующего, а создать нового

>>>- Автор вопроса

update? get_or_create ещё вижу

нет, просто сначала получить инстанс конкретного босса, например через гет, а потом его полю присвоить значение юзера

но вообще смущает что у тебя поля формы босса дублируют поля юзера, так быть не должно

>>>- Автор вопроса

Совсем нет, никаких лишних полей. Я сейчас покажу на pestbin модели, там дубляж отсутствует

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Всем привет! Кто нибудь парсил в ручную JSON без библиотек и фреймворков? Есть может ссылки на оптимальный алгоритмы работы с текстом и примеры таких парсеров?
Lem
27
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
Есть сайт. Там была древняя версия эво. Стоял плагин, который каждый коммент в Jot делал отдельной страницей. После обновления все слетело, теперь старница открывается отдельн...
Artem
1
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
Добрый день. А shovel'ы можно как-то сконфигурировать в definitions.json? Пробовал что-то вроде: { "users": [ { "name": "agent", "password_hash": "RBCbTzQd...
Aleksey
1
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Карта сайта