wudanyangggo 发表于 2021-2-27 20:17:43

Django的一些问题,求问

想用Django自带的ORM来操作mysql,但是在创建新表时想要设置id类型为BigAutoField无法设置为主键,是现在Django改版后的变化吗?如果是我应该用什么关键字来设置id为主键,如果不是,应该如何设置id为自增的int类型,求大佬解答一下,谢谢from django.db import models

class Userinfo(models.Model):
    nid = models.BigAutoField(primary_key=True)
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=64)

报错为:TypeError: __init__() got an unexpected keyword argument 'primar_key'

hrp 发表于 2021-2-27 20:32:15

你不看报错的么{:10_245:}
第4行,初始化方法__init__收到一个意料之外的关键字参数'primar_key'。
很明显第4行要么是nid = models.BigAutoField(primary_key=True)里面的关键字primar_key拼错了,要么是没有这样的关键字

wudanyangggo 发表于 2021-2-27 20:38:31

hrp 发表于 2021-2-27 20:32
你不看报错的么
第4行,初始化方法__init__收到一个意料之外的关键字参数'primar_key'。
很明 ...

是的,但是其他的比如IntegerFiled就有primary_key关键字,视频上是说AutoField是设置自增,但是我这边设置它为主键时显示无相关关键字,所以想来论坛问问应该给AutoField设置什么关键字让它成为主键

wudanyangggo 发表于 2021-2-27 20:46:28

哦,没事了,查了一下手册发现如果不设置id的话Django自动会生成一个名为ID的自增主键{:10_277:},那没事了

wudanyangggo 发表于 2021-3-1 18:25:21

后续,升级了一下Mysql(因为新版DJANGO manage.py不支持5.5的Mysql了),把pycharm从3.3降为3.2后,AutoField可以设置primary_key了{:10_245:}就很迷惑
页: [1]
查看完整版本: Django的一些问题,求问