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
报错
当我修改成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'。
这个错误提示是因为 Django 3.2 开始支持自定义主键类型,默认使用的是 AutoField 主键类型。如果你的模型中没有定义主键类型,会自动创建一个 AutoField,但是这会导致警告提示。
解决这个问题的方法有两种:
settings.py
文件中添加以下配置:DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
这样会将主键类型设置为 AutoField,消除警告提示。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