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
相关产品推荐
相关产品推荐

