#python #django
Вопрос:
Я совершенно новичок в django и не могу понять, почему это происходит. Вот моя модель, которую я добавил в настройки конфигурации «Установленные приложения», и я перенес:
class User(models.Model): name = models.CharField(max_length = 200), state = models.CharField
В оболочке я импортирую модель следующим образом:
from homepage.models import User
затем я пытаюсь создать нового пользователя, например:
a = User(name='Alex', state='Alberta')
и это приводит к этой ошибке, которая для меня не имеет смысла, потому что я определил поля схемы пользователя выше: я знаю, что мне чего-то не хватает, например, возможно, я должен что-то добавить в свою views.py файл перед запуском оболочки, но я просто не знаю. Любое направление приветствуется! Спасибо!
TypeError Traceback (most recent call last) <ipython-input-3-88cc332f436e> in <module> ----> 1 a = User(name='Alex Honing', state='Alberta') /usr/local/anaconda3/envs/pyfinance/lib/python3.9/site-packages/django/db/models/base.py in __init__(self, *args, **kwargs) 501 pass 502 for kwarg in kwargs: --> 503 raise TypeError("%s() got an unexpected keyword argument '%s'" % (cls.__name__, kwarg)) 504 super().__init__() 505 post_init.send(sender=cls, instance=self) TypeError: User() got an unexpected keyword argument 'name' In [4]: a = User(name = 'Alex', state ='Alberta')
Ответ №1:
В вашей модели есть дополнительный ,
элемент, и поле состояния не создается. Все поля, объявленные в моделях, должны быть созданы.
Допустимая реализация будет выглядеть примерно так:
class User(models.Model): name = models.CharField(max_length=200) state = models.CharField(max_length=200)
Комментарии:
1. а ну понятно. Спасибо, что это сработало!