You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django开发报错:SyntaxError: keyword argument repeated: status 求助

Django中模型重复字段+create重复传参的解决方案

1. 修复Models.py的重复字段定义

打开models.py,定位到PostJobs1模型,找出重复定义的status字段,删除其中一个,只保留符合业务需求的版本。比如原代码如果是:

class PostJobs1(models.Model):
    title = models.CharField(max_length=200)
    status = models.CharField(max_length=20, default='draft')
    # 重复字段,需删除
    status = models.BooleanField(default=False)

根据实际业务场景选择保留的字段类型(字符串型或布尔型),确保模型中status字段唯一。

2. 修复views.py的重复传参问题

打开views.py的post_job1函数,找到PostJobs1.objects.create()调用,移除重复传入的status参数,只保留一个与模型字段类型匹配的参数值。比如原代码如果是:

def post_job1(request):
    job = PostJobs1.objects.create(
        title=request.POST.get('title'),
        status='published',
        # 重复参数,需删除
        status=True
    )
    # 后续逻辑...

确保传入的status值和模型中status字段的类型一致(比如模型是CharField就传字符串,BooleanField就传布尔值)。

3. 验证修复并完成迁移(若需)

  • 保存修改后的models.py和views.py
  • 如果修改了模型字段的类型或属性,执行数据库迁移命令同步变更:
python manage.py makemigrations
python manage.py migrate
  • 启动项目测试,确认post_job1函数正常运行,不再触发SyntaxError

内容的提问来源于stack exchange,提问作者Md. Kawser Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:50:25