Python Tech

近期遇到的Django问题整理

错误提示:

accounts.profile: Reverse query name for field ‘mentor’ clashes with related field ‘User.profile’. Add a related_name argument to the definition for ‘mentor’.
django.db.utils.IntegrityError: accounts_profile.hire_date may not be NULL
django.db.utils.IntegrityError:accounts_profile.mentor_id may not be NULL

出错代码:

出错原因和解决方案:

以上3个错误都是在制作User.Profile时出现的。

第一个错误,是因为在同一个model中为两个字段指定同一个外键,解决方法在错误提示中已经告知了:添加related_name。

第二个错误,让hire_date字段可以为空即可。

第三个错误很有趣,它的提示和第二个错误一样,于是我就在mentor和pl字段上添加了null = True,但运行时它又报了第二个错误,最后将代码改成以下形式以后正常了:

之前的blank = True突然失效了。具体是Django本身的问题还是其他问题还在研究中。


错误提示

Error: Can’t find the file ‘settings.py’ in the directory containing ‘manage.py’. It appears you’ve customized things.
You’ll have to run django-admin.py, passing it your settings module.
(If the file settings.py does indeed exist, it’s causing an ImportError somehow.)

出错原因和解决方案:

这个问题和代码无关。settings.py文件好好的放着,但就是提示找不到文件。我在Stackoverflow上看到有人回答,说是因为在App中添加了下面这句,引起 “circular dependency” 导致的,但去掉这句以后问题依旧。但同样的代码放到windows环境下却一点问题也没有。

3 thoughts on “近期遇到的Django问题整理”

Leave a Reply

Your email address will not be published. Required fields are marked *