当前位置: 首页 > 面试题库 >

为表格的“ id”列指定了多个默认值

谭刚毅
2023-03-14
问题内容

我曾经在笔记本电脑上运行我的网站,它的数据库是Sqlite,最近我想将其转移到DigitalOcean,然后将其数据库更改为Postgresql,但是在迁移时遇到了一些问题。

Python 3.4 Django 1.8

django.db.utils.ProgrammingError: multiple default values specified for column "id" of table "profiles_userprofile"

我的模特

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    avatar = models.ImageField(blank=True, upload_to=get_image_path, default='/static/image/avatar/male.png')
    age = models.IntegerField(default=4, validators=[MinValueValidator(3), MaxValueValidator(99)])

我该怎么办?


问题答案:

尝试显式指定id字段并将其标记为主键:

class UserProfile(models.Model):
    id = models.BigIntegerField(primary_key = True)
    user = models.OneToOneField(User)
    avatar = models.ImageField(blank=True, upload_to=get_image_path, default='/static/image/avatar/male.png')
    age = models.IntegerField(default=4, validators=[MinValueValidator(3), MaxValueValidator(99)])

Django应该为此字段自动创建一个序列。

User尽管这只是一个理论,但没有明确定义的主键的外键可能会使ORM感到困惑。



 类似资料:
  • 像这样: 我该怎么办?

  • 问题内容: 有没有一种方法可以指定与struct一起使用的默认dtype ? 我特别想成为和成为。相反,我得到和 问题答案: 默认值取决于您的系统。在64位系统上,默认类型为64位。在32位系统上,默认类型为32位。无法使用其他系统C标头更改默认值,即重新编译numpy。 您当然可以明确指定dtype,例如 编辑:正如kazemakase在下面提到的,以上内容仅适用于int32 / int64。在

  • 问题内容: SELECT TOP(20) * FROM (SELECT * FROM [3D_Benchmarks] JOIN [3D_Slugs] ON [3D_Benchmarks].Id = [3D_Slugs].BenchmarkId) AS tb ORDER BY tb.FPS DESC; 我收到此错误: 为“ tb”多次指定了“ Id”列。 问题答案: 代替使用或。

  • 问题内容: 我有一个包含三个提交按钮的表单,如下所示: 按钮行混合了提交,重置和JavaScript按钮。按钮的顺序可能会更改,但是在任何情况下,保存按钮都将保留 在上一个和下一个按钮之间。 这里的问题是,当用户点击Enter提交表单时,帖子变量“ COMMAND”包含“ Prev”;正常,因为这是表单上的第一个提交按钮。但是,我希望在用户通过Enter按钮提交表单时触发“下一步” 按钮。这有点像

  • 问题内容: 考虑程序的三个不同的运行: 是否可以在第一种情况下,第二种情况下,第三种情况下使用? 问题答案: 带有参数的参数可以很好地处理此三向输入。 我也可以给它一个参数。 如何使用argparse在python中添加多个参数选项?

  • 本文向大家介绍MVC设定默认路由为指定的Area下的某个action,包括了MVC设定默认路由为指定的Area下的某个action的使用技巧和注意事项,需要的朋友参考一下 MVC中,一般的情况下,使用IDE工具帮我们生成的代码,在路由注册的时候: 默认给的路由地图 我们在default:中去配置 默认是又那个控制器返回action。 这样形如:http://localhost:1450/ 这样,会

  • 本文向大家介绍JS函数多个参数默认值指定方法分析,包括了JS函数多个参数默认值指定方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS函数多个参数默认值指定方法。分享给大家供大家参考,具体如下: 函数有一个参数时,以往这样定义(参数为p1): 当需要为p1设定一个默认值时 当函数需要2个参数时,以前习惯这样写 后来发现完全不需要这样写,js函数甚至不需要在括弧内预设参数名,可以用一

  • 问题内容: 我想有一个可选参数,如果仅存在未指定值的标志,则默认为一个值,但是存储用户指定的值,而不是如果用户指定一个值,则存储默认值。是否已经有可用于此的措施? 一个例子: 我可以创建一个动作,但想查看是否存在执行此操作的方法。 问题答案: 表示0或1参数 当参数为0时设置默认值 将参数转换为int 如果即使未指定,也要设置为1 ,则包括。也就是说, 然后