好吧,我有一个通用的问题..我想我的models.py很干净...没有其他的东西,而不是声明模型。django信号,正确的方法
可以说我有这个作为models.py
class UserProfile(models.Model:
user = models.OneToOneField(User, related_name='profile')
#other stuff
,这是我signals.py
def create_user_profile(sender, instance, created, **kwargs):
if created:
profile, created = UserProfile.objects.get_or_create(user=instance)
post_save.connect(create_user_profile, sender=User)
我怎么去告诉我的应用程序,这是我的信号文件? ..我必须在我的models.py中声明它们吗?
//鼠标
这个解决方案几乎是唯一的方法,但循环依赖是一个杀手,尤其是当您使用应用自动发现(纯粹邪恶)的Haystack应用时。如果您必须这样做,请使用显式导入与'import *'。 @mouse,我赞赏你对干净的代码的渴望,但是这是一个情况,最好是把信号放在models.py的末尾 - 我对干净的代码有相同的倾向,这导致我拉我的头发以后经常出来。 – 2012-08-17 18:16:19
谢谢。干净的代码有助于当维护一个软件 – debuggerpk 2012-08-18 11:31:13