首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django内联模型管理筛选器外部字段

Django内联模型管理筛选器外部字段
EN

Stack Overflow用户
提问于 2013-08-19 08:18:18
回答 2查看 4.3K关注 0票数 5

我有一个问题。

我有3个型号:

代码语言:javascript
复制
class Deal(models.Model):
    name = models.CharField(max_length=80)

class Site(models.Model):
    name = models.CharField(max_length=80)
    deal = models.ForeignKey(Deal)

class Picture(models.Model):
    title = models.CharField(max_length=80)
    deal = models.ForeignKey(Deal)
    site = models.ForeignKey(Site)

我想使交易管理与网站和图片内联管理模式:

代码语言:javascript
复制
class SiteInline(admin.StackedInline):
    model = Site
    extra = 1


class PictureInline(admin.StackedInline):
    model = Picture
    extra = 1


class DealAdmin(admin.ModelAdmin):
    inlines = [
        SiteInline,
        PictureInline,
    ]

我想做的是,当我在图片管理中选择网站时,它只显示我属于我正在查看的当前交易的网站(如果我正在更新-而不是创建新的)。

我希望这在管理工作,我花了很多小时搜索网页,但找不到任何有用的东西,请帮助!

我试着这样做,但我不知道如何访问父模型实例来获取交易id:

代码语言:javascript
复制
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):

    if db_field.name == 'site':
        kwargs['queryset'] = Site.objects.filter(deal__id=1)

    return super(PictureInline, self).formfield_for_foreignkey(db_field, request=None, **kwargs)
EN

回答 2

Stack Overflow用户

发布于 2014-04-28 19:18:27

在DTing的变体中,我看到了问题- self.instance.deal在编辑模式下设置,但在添加模式下未设置

我认为,你应该写

代码语言:javascript
复制
try:        
    self.fields['site'].queryset = Site.objects.filter(deal=self.instance.deal)
except:
    self.fields['site'].queryset = Site.objects

相反,

票数 1
EN

Stack Overflow用户

发布于 2013-08-19 13:33:10

Django: accessing the model instance from within ModelAdmin?

代码语言:javascript
复制
class PictureInlineForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(PictureInlineForm, self).__init__(*args, **kwargs)
        self.fields['site'].queryset = Site.objects.filter(
            deal=self.instance.deal)

class PictureInline(admin.ModelAdmin):
    form = PictureInlineForm
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18304932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档