Получение Typerror в django, но поля определены правильно
Я совсем новичок в django и не могу понять, почему это происходит. Вот моя модель, которую я добавил в конфигурацию настроек "Installed Apps" и мигрировал:
class User(models.Model):
name = models.CharField(max_length = 200),
state = models.CharField
В оболочке я импортирую модель следующим образом:
from homepage.models import User
Затем я пытаюсь создать нового пользователя следующим образом:
a = User(name='Alex', state='Alberta')
и он выдает эту ошибку, которая не имеет смысла для меня, потому что я определил поля схемы User выше: Я знаю, что я что-то упускаю, возможно, я должен добавить что-то в файл 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')
В вашей модели есть лишнее ,
и поле состояния не инстанцировано. Все поля, объявленные в моделях, должны быть инстанцированы.
Правильная реализация будет выглядеть примерно так:
class User(models.Model):
name = models.CharField(max_length=200)
state = models.CharField(max_length=200)