我工作的基礎上Django的食譜網站,並已運行到上的自定義後端碰釘子對象添加到用戶。自定義Django的後端在激活(或註冊)
我收到供應,當我嘗試保存我的食譜例如在後臺驗證錯誤 - 沒有例外。
這裏是我的後端:
from registration.backends.default import DefaultBackend
from cookbook.models import Cookbook
from django.contrib.auth.models import User
from registration.models import RegistrationProfile
class RecipeekActivationBackend(DefaultBackend):
def register(self, request, **kwargs):
new_user = super(RecipeekActivationBackend, self).register(request, **kwargs)
new_user.save()
cookbook = Cookbook(name=new_user.first_name, pub_date="12/12/2012", user=new_user)
print"cookbook"
cookbook.save()
return new_user
錯誤發生在cookbook.save()
這裏是我的食譜型號:
class Cookbook(models.Model):
def __unicode__(self):
return self.name
name = models.CharField(max_length=50)
pub_date = models.DateTimeField('date published')
user = models.ForeignKey(User, related_name='cookbooks')
recipes = models.ManyToManyField('Recipe', related_name = 'cookbooks')
我相信這是所有我需要供應,以獲得一些幫助。
預先感謝您,
A.庫珀
更新:錯誤是由PUB_DATE造成傳遞一個字符串,而不是日期時間 UPDATE2的:我要對這個方法是不是最好的這樣,我現在要嘗試使用信號來實現相同的效果
克里斯感謝您對本見地職位。我打算給它一個鏡頭。我對django非常陌生,想嘗試一下它所提供的一切 - 我還沒有了解信號,所以現在是時候這樣做了。再次感謝:) – snackerfish 2012-03-23 15:38:42
克里斯這個效果很好,但由於某種原因名稱返回空白 是否有默認用戶first_name? – snackerfish 2012-03-23 15:49:56
謝謝,但我解決了這個問題 - 我使用的是用戶名而不是first_name – snackerfish 2012-03-23 15:57:36