0
を任意の行に影響を与えなかったのは、デコレータでモデルを持ってみましょう:保存
def upgradable(model):
@classmethod
def upgrade(cls, base, **kwargs):
base.__class__ = cls
for attr, value in kwargs.items():
setattr(base, attr, value)
return base
setattr(model, "upgrade", upgrade)
return model
class Person(models.Model):
name = models.CharField(max_length=50)
def save(self, *args, **kwargs):
self.name = self.name.upper()
super(Person, self).save(*args, **kwargs)
と継承されたモデル:
@upgradable
class User(Person):
email = models.EmailField();
と私は
をアップグレードしようとしていますperson = Person.objects.get(...)
user = User.upgrade(person, email="[email protected]")
user.save()
エラーが表示されます。
への接続で(モデル人物の保存方法で)
確かに私はテーブルの人には何も変更したくないので、それは総間違っていないですが、私はちょうどテーブルのユーザーに何かを追加したいです(人と電子メールへのポインタ)。
この警告をスキップするにはどうすればよいですか?