管理者のメソッドをオーバーライドしようとしているsave()
ので、パブリッシャーユーザーがカスタマーユーザーを作成しているときに、パブリッシャーフィールドに現在のユーザーの値が自動的に割り当てられます。
ValueError: Cannot assign "User: foo": "SimpleSubscriber.publisher" must be a "Publisher" instance.
私はこのチュートリアルを使って始めました:ここ。
def save_model(self, request, obj, form, change):
if not change:
obj.publisher = request.user
obj.save()
これはsaveメソッドのオーバーライドです。管理者にアクセスできる唯一のユーザーはパブリッシャーであり、パブリッシャーモデルとSimpleSubscriberモデルはどちらもユーザーモデルです。
class Publisher(User):
def __unicode__(self):
return self.get_full_name()
class SimpleSubscriber(User):
publisher = models.ForeignKey(Publisher)
address = models.CharField(max_length=200)
city = models.CharField(max_length=100)
state = USStateField()
zipcode = models.CharField(max_length=9)
phone = models.CharField(max_length=10)
date_created = models.DateField(null=True)
sub_type = models.ForeignKey(Product)
sub_startdate = models.DateField()
def __unicode__(self):
return self.last_name
request.user
新しいSimpleSubscriberを現在のパブリッシャーユーザーに割り当てるには、何に置き換えることができますか?