django.core.exceptions.ValidationError: ["значение 'urvi' должно быть целым числом."] - PullRequest
0 голосов
/ 08 июня 2019

Я получаю сообщение об ошибке при попытке получить доступ к панели администратора.В нем говорится ValidationError в / admin / ["значение 'urvi' должно быть целым числом."].

Я уже пытался использовать id и автоматически увеличивать его, но ничего не работает.

Models.py

from django.db import models
from django.contrib.auth.models import User
# Create your models here.
Roles = (
    ('sales', 'SALES'),
    ('operations', 'OPERATIONS'),
    ('cashier', 'CASHIER'),
    ('frontdesk', 'FRONTDESK'),
    ('admin', 'ADMIN'),
    ('client', 'CLIENT'),

)


class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE,              default='none')
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    email = models.EmailField(max_length=100, unique=True)
    password = models.CharField(max_length=50)
    username = models.CharField(max_length=50)
    role = models.CharField(max_length=50, choices=Roles,  default='client')

    def __str__(self):
        return self.username

urls.py

from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from NewApp import views


urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^$',views.register,name='register'),

1 Ответ

2 голосов
/ 08 июня 2019

user - это OneToOneField, а по умолчанию вы указываете строку! Как ORM может знать, как перевести эту строку в экземпляр User? Вы можете предоставить int там, что сомнительно, потому что вы убедитесь, что User с этим идентификатором присутствует в базе данных. Или - что, возможно, то, что вы хотите - сделать поле обнуляемым (null=True) и установить значение по умолчанию None (не 'none').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...