【问题标题】:django.core.exceptions.ValidationError: ["'urvi' value must be an integer."]django.core.exceptions.ValidationError: ["'urvi' 值必须是整数。"]
【发布时间】:2019-06-08 11:00:18
【问题描述】:

我在尝试访问管理面板时遇到错误。它说 /admin/["'urvi' 值必须是整数。"] 处的 ValidationError。

我已经尝试过使用 id 并自动增加它,但没有任何效果。

模型.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'),

【问题讨论】:

  • 你能显示完整的回溯以及相关的网址和视图吗?

标签: python django exception django-models


【解决方案1】:

userOneToOneField,您提供的默认值是一个字符串! ORM 怎么知道如何将该字符串转换为User 实例?您可以在那里提供一个 int ,这是有问题的,因为您已确保数据库中存在具有该 ID 的 User。或者 - 这可能是您想要的 - 使该字段可为空 (null=True) 并将默认设置为 None(而不是 'none')。

【讨论】:

  • 它没有帮助。
猜你喜欢
  • 2018-02-04
  • 2019-01-05
  • 2019-01-02
  • 2017-04-12
  • 1970-01-01
  • 2018-02-26
  • 2021-07-30
  • 2013-09-18
相关资源
最近更新 更多