0

ユーザーがStoreオブジェクトを作成できるようにしたい。作成時に、このユーザーとストアの組み合わせのEmploymentRelationshipタイプを自動的に作成する必要があります。Owner後でOwner、ストアのはを追加できEmployeeます。オブジェクトが管理インターフェイスで作成されるときに、この初期関係を作成するにはどうすればよいですか?

class Store(models.Model):
    description = models.CharField('Description of Store',max_length=45, null=False, blank=False)

class EmploymentRelationship(models.Model):
    OWNERTYPECHOICES = (
        (constants.OWNER, 'Owner'),
        (constants.EMPLOYEE, 'Employee'),
    )

    sid = models.ForeignKey(Store, null=False, blank=False)
    uid = models.ForeignKey(User, null=False, blank=False)
    employment_type = models.IntegerField('Ownership Type',default=constants.EMPLOYEE, choices=OWNERTYPECHOICES)
4

1 に答える 1

0

管理者クラスでsave_modelをオーバーライドできます。

class StoreAdmin(ModelAdmin):

    def save_model(self, request, obj, form, change):
        super(StoreAdmin, self).save_model(request, obj, form, change)
        if not change:
            EmploymentRelationship.objects.create(
                sid=obj, uid=request.user, employment_type=constants.OWNER)

詳細はこちら

于 2012-09-26T00:00:25.007 に答える