梦幻编织者 2023-05-30 17:25 采纳率: 0%
浏览 18
已结题

django做数据可视化系统报错

from django.shortcuts import render,redirect,render_to_response
import pandas as pd
from user.models import *
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
报错

img

当我修改成from django.shortcuts import render,redirect
报错user.job: (models.W042) 当未定义主键类型时,自动创建主键,默认为 'django.db.models.AutoField'。
提示:配置 DEFAULT_AUTO_FIELD 设置或 UserConfig.default_auto_field 属性,指向 AutoField 的子类,例如 'django.db.models.BigAutoField'。

  • 写回答

1条回答 默认 最新

  • 一叶屋檐 2023-05-31 08:44
    关注

    这个错误提示是因为 Django 3.2 开始支持自定义主键类型,默认使用的是 AutoField 主键类型。如果你的模型中没有定义主键类型,会自动创建一个 AutoField,但是这会导致警告提示。
    解决这个问题的方法有两种:

    1. 在你的 settings.py 文件中添加以下配置:
      DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
      
      这样会将主键类型设置为 AutoField,消除警告提示。
    2. 在你的模型中显式地定义主键类型,例如:
    from django.db import models
    
    class MyModel(models.Model):
        id = models.BigAutoField(primary_key=True)
        # other fields here
    

    这里使用的是 BigAutoField 类型,你可以选择适合你的数据类型。
    如果你想了解更多关于 Django 3.2 中的这个改变,可以查看这个文档:https://docs.djangoproject.com/en/3.2/releases/3.2/#customizing-type-of-auto-created-primary-keys

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月31日
  • 创建了问题 5月30日