English 中文(简体)
Django Admin: 如何只挽救条形模式而不是母体
原标题:Django Admin: How to only save inline model not parent

下面是简化的设置:

  • A model based on legacy data which can t be changed. Therefore I raise a ValidationError to make the user aware that there was no change made. The form fields are readonly and I could use a simple pass but I prefer to get the message that save() didn t do what it was intended to do instead of just do silently nothing.
  • Now I m extending the legacy data with a 2nd model which should be editable. It is included it into the legacy model s ModelAdmin as inline. I could include the CommentModel itself as a ModelAdmin, but as the LegacyModel inherits lots of functionality from parent-classes this gets complicated and un-dry.

我只想在网上开展“勇敢”行动。 我认为,所有领域都只是读写的,因此,它们应当做罚款。 难道有人会给我以清洁的方式这样做吗?

class Legacy(models.Model):

    legacyData = models.TextField()

    def clean(self):
        raise ValidationError("%s model is readonly." % self._meta.verbose_name.capitalize())

class Comment(models.Model):

    legacy = models.OneToOneField(Legacy)
    comment = models.TextField()


class LegacyAdmin(admin.ModelAdmin):

    def __init__(self, *args, **kwargs):
        self.readonly_fields = self.fields
        super(LegacyAdmin, self).__init__(*args, **kwargs)

    model = Legacy
    inlines = (CommentInline, )

感谢你们的很多时间!

最佳回答

http://docs.djangoproject.com/en/dev/ref/contrib/messages/“rel=”>。 告诉你们的用户,发生了什么。

问题回答

暂无回答




相关问题
How to get two random records with Django

How do I get two distinct random records using Django? I ve seen questions about how to get one but I need to get two random records and they must differ.

Moving (very old) Zope/Plone Site to Django

I am ask to move data from a (now offline) site driven by Plone to a new Django site. These are the version informations I have: Zope Version (unreleased version, python 2.1.3 ) Python Version 2.1....

Can Django models use MySQL functions?

Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...

Flexible pagination in Django

I d like to implement pagination such that I can allow the user to choose the number of records per page such as 10, 25, 50 etc. How should I go about this? Is there an app I can add onto my project ...

is it convenient to urlencode all next parameters? - django

While writing code, it is pretty common to request a page with an appended "next" query string argument. For instance, in the following template code next points back to the page the user is on: &...

Pragmatically adding give-aways/freebies to an online store

Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...

热门标签