我工作的基础上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