Djangoの自動作成オブジェクトに問題があります。助けてください。 私がいることをアバターモデルを持っている:私はヌルフォトセットでモデルのアバターを保存するときにDEFを作成したいDjangoに保存するとForeignKeyでオブジェクトを自動作成します
class Avatar(models.Model):
owner = models.ForeignKey(User, related_name='avatar_owner')
photoset = models.ForeignKey(PhotoSet, null=True)
image = models.ImageField(max_length=1024, upload_to=avatar_file_path)
とモデル
class PhotoSet(models.Model):
title = models.CharField(_('title'), max_length=200, null=True)
、それは自動一定でフォトセットをget_or_createますタイトル。私はこれのようなdefを作ったが、それは仕事ではない。
@transaction.atomic
def create_default_photoset(self, *args, **kwargs):
if self.photoset is None:
self.photoset, _ = Photoset.objects.get_or_create(title=self.id)
super(Avatar, self).create_default_photoset(*args, **kwargs)
私はこのdefで間違っていますか?どうすれば修正できますか?前もって感謝します!
すべての私のコードはありますか?アバターの 'save'の前に呼び出すと、' self.id'はNoneになります – Igor
そして別の同意 - 'super(Avatar、self).create_default_photoset'それは親クラスの呼び出しですが、私はそのモデルとは思いませんそのような方法がある。とにかく、「うまくいかない」ともっと詳しく説明してください。エラーのトレースバック – Igor
@Igorは機能しません。これはすべてdefです。 –