我有这样的代码。后保存在表中创建了一行,但是如何将值分配给socialid
and accesstoken
?
class Appuser(models.Model):
user = models.OneToOneField(User)
socialid = models.IntegerField(null=True)
accesstoken = models.CharField(max_length=255L, null = True)
class Meta:
db_table = 'AppUser'
def __str__(self):
return "%s's profile" % self.user
@receiver(post_save, sender=User)
def create_cfituser(sender, instance, created, **kwargs):
if created:
Appuser.objects.get_or_create(user=instance)
在 shell 中运行它给了我:
>>> user = User.objects.create_user('John Doe')
>>> appuser = Appuser(user = user,accesstoken = '634646473', socialid='6436')
>>> appuser.save()
"Duplicate entry '9' for key 'user_id'"
这是有道理的,因为该行已经存在。我可能缺少一些简单的东西,因此感谢您的帮助。