标签: modeladmin

如何在ModelAdmin(SilverStripe 3.1)中将所有行导出为CSV?

显然GridFieldExportButton只能导出当前可见的数据集(分页).有没有办法让它从模型中导出所有行?

或者:有没有办法显示所有行(例如绕过分页),以便用户在显示所有行后可以执行导出?我不想一直显示所有行(可能通过设置可能ModelAdmin::set_page_length(<ridiculouslyHighNumber>);),但只是按需提供.

modeladmin silverstripe

2
推荐指数
2
解决办法
4132
查看次数

如何从django modelAdmin中的save_related表单集访问所有表单

当调用save_related时,我需要从内联表单集中的所有表单访问两个字段,而save_related只允许我访问已更改的表单/数据.

我的问题的任何其他解决方案,所以这里是:

class Invoice(models.Model):
    invoice = models.CharField(max_length=10, blank=True, null=True, unique=True)
    total = models.PositiveIntegerField(blank=True, null=True)


class InvoiceItem(models.Model):
    invoice = models.ForeignKey(Invoice, related_name='items')
    service = models.ForeignKey(Service)
    quantity = models.PositiveIntegerField(blank=False, default=1)
    price = models.PositiveIntegerField(blank=False, default=0)


class InvoiceItemInline(admin.TabularInline):
    model = InvoiceItem


class InvoiceAdmin(admin.ModelAdmin):
    inlines = [InvoiceItemInline]

    def save_related(self, request, form, formsets, change):
        invoice = form.instance
        invoice.total = 0
        for inlines in formsets:
            for inline_form in inlines:
                invoice.total = invoice.total + inline_form.cleaned_data['price'] * inline_form.cleaned_data['quantity']
        invoice.save()
        super(InvoiceAdmin, self).save_related(request, form, formsets, change)
Run Code Online (Sandbox Code Playgroud)

我需要计算每个发票项目的发票总额,其中每个项目都有数量*价格.

modeladmin django-admin

2
推荐指数
1
解决办法
2783
查看次数

SilverStripe.在ModelAdmin中按日期范围搜索

我的DataObject中有date-property.

如何在ModelAdmin中按日期范围进行搜索?

例如:"搜索日期大于2007-13-01且小于2007-17-01的
所有项目" 或"搜索日期介于2007-13-01和2007-17-01之间的所有项目"

现在我只能使用GreaterTranFilter或LessThanFilter进行搜索,但不能同时搜索.

class MyObject extends DataObject {
    private static $db = [
        "Date" => "Date",
    ];
    private static $summary_fields = [
        "Date" => "Date",
    ];

    private static $searchable_fields = [
        "Date" => [
            "field" => "DateField",
            "filter" => "GreaterThanFilter",
            "title" => 'Date from ...'
        ],
    ];
}
Run Code Online (Sandbox Code Playgroud)

此外,搜索字段必须使用日历(datepicker)

DateField:
  default_config:
    showcalendar: true
Run Code Online (Sandbox Code Playgroud)

你能举例说明如何按日期范围进行搜索吗?

search modeladmin silverstripe datefield

2
推荐指数
1
解决办法
475
查看次数

Wagtail 模型管理员。自定义用户的几个部分

我正在尝试为现有的自定义用户模型设置 Wagtail。根据要求,应该有几个用户页面可用,代表不同类型的用户(常规、经理等)我尝试为每种情况创建单独的 ModelAdmin,覆盖 get_queryset 以按用户类型过滤。但看起来它们都显示了 ModelAdmin 的第一个定义,因为它们都有模型 - 用户

然后我尝试使用代理模型,在这种情况下根本没有显示,因为 Wagtail 似乎不支持代理模型。

我现在看到的唯一选择是创建我自己的视图并添加导致它的菜单项

请建议在 Wagtail 中实现此目标的最佳/最简单方法是什么

modeladmin wagtail

2
推荐指数
1
解决办法
525
查看次数

如何从 Wagtail modeladmin 的 HelpPanel 访问实例?

在 Wagtail 项目中的 Django 模型中,该模型作为模型管理实例连接,我想从以下实例访问数据HelpPanel

# file: models.py

class ExpertiseApproval(models.Model):
    expertise = models.ForeignKey(
        ProfilePageExpertises,
        on_delete=models.SET_NULL,
        blank=True,
        null=True,
    )
    approved = models.BooleanField(
        default=False,
    )

    def get_expertise_repr(self):
        return 'Expertise: {}'.format(self.expertise)

    panels = [
        HelpPanel(
            heading='Approving expertises',
            content='{}'.format(get_expertise_repr(self)),
        ),
        FieldPanel('approved'),
    ]
Run Code Online (Sandbox Code Playgroud)

但是通过上面的代码,我得到了一个“自我未定义”:

# traceback snippet

    content='{}'.format(get_expertise_repr(self)),
NameError: name 'self' is not defined
Run Code Online (Sandbox Code Playgroud)

self面板中的定义似乎不成为self从我想在这里使用的模型实例。

任何想法如何从这个HelpPanel定义中的绑定模型实例访问数据?

python modeladmin python-3.x wagtail

2
推荐指数
1
解决办法
292
查看次数

区分ModelAdmin媒体以在Django中添加/更改页面

要在Django admin中封装自定义功能,我提供了一个自定义的ModelAdmin类,实际上看起来像这样:

class ArticleAdmin(admin.ModelAdmin):
    class Media:
        js = ("my_code.js",)
Run Code Online (Sandbox Code Playgroud)

我注意到my_code.js在添加和更改页面中都加载了,但我只需要在添加页面中加载它.是否可以这样做(以及如何)?

谢谢.

media django modeladmin django-admin

1
推荐指数
1
解决办法
1203
查看次数

ModelAdmin DataObjects

我有这门课:

class Product extends DataObject { 
    static $db = array(
        'Name' => 'Varchar', 
        'ProductType' => 'Varchar', 
        'Price' => 'Currency'
    ); 
} 
Run Code Online (Sandbox Code Playgroud)

数据库表如下所示:

 --------------------------------- 
| Name      | ProductType | Price |
|-----------+-------------+-------|
| Product 1 | Type1       | 100   |
| Product 2 | Type1       | 240   |
| Product 3 | Type2       | 10    |
| Product 4 | Type1       | 100   |
 --------------------------------- 
Run Code Online (Sandbox Code Playgroud)

我想有2个模特管理员:

class MyFirstModel extends ModelAdmin {
    public static $managed_models = array(
        Product
    );
}

class MySecondModel …
Run Code Online (Sandbox Code Playgroud)

modeladmin silverstripe

0
推荐指数
1
解决办法
725
查看次数