1

私のデータベースでは、2 つのテーブルを同期したいと考えています。登録にはauth_user(Djangoが提供するデフォルトテーブル)テーブルを使用しますが、エンティティのユーザー名、電子メール、年齢などを含む別のテーブルuser-profileがありました。同期中にForiegnキーを更新する方法は?

def get_filename(instance,filename):
    return "upload_files/%s_%s" % (str(time()).replace('.','_'),filename)

def create_profile(sender, **kwargs):
    if kwargs["created"]:
        p = profile(username = kwargs["instance"], email=kwargs["instance"])
        p.save()

models.signals.post_save.connect(create_profile, sender=User)

class profile(models.Model):
    username = models.CharField(max_length = 30)
    email  = models.EmailField()
    age = models.PositiveIntegerField(default='15')
    picture = models.FileField(upload_to='get_filename')
    auth_user_id = models.ForeignKey(User)

ここでは、同期中のテーブル プロファイルで、auth_user_id を除くすべての列が入力されます。そしてエラーが発生しました

 Exception Value:   

(1048, "Column 'auth_user_id_id' cannot be null")
4

1 に答える 1