【问题标题】:How to add multiple model objects on the same admin page Django如何在同一管理页面 Django 上添加多个模型对象
【发布时间】:2020-05-18 21:54:15
【问题描述】:

这个想法非常简单。这是针对我的项目的,我想在一个 Django 管理页面上向同一模型的 2 个对象添加数据并有一个保存按钮。

我的班级:

class Data(models.Model):
issuer = models.ForeignKey(Issuers, on_delete=models.CASCADE)
issuer_field = models.ForeignKey(Fields, on_delete=models.CASCADE, null=True)
data_year = models.PositiveSmallIntegerField()
long_term_ar = models.IntegerField()
section_1 = models.IntegerField()
short_term_ar = models.IntegerField()
short_term_investments = models.IntegerField()
cash = models.IntegerField()

举例说明:I want to have 2 of those on the same page

我是 Django 新手,如果你能帮我实现这个想法,那将非常有帮助

【问题讨论】:

    标签: django django-models django-forms django-admin


    【解决方案1】:

    看看“Inlinemodeladmin 对象”:https://docs.djangoproject.com/en/2.2/ref/contrib/admin/#inlinemodeladmin-objects

    您将能够同时添加多条记录:

    【讨论】:

    • 这有帮助,但实际上是另一种更好的方式,谢谢
    【解决方案2】:

    试试这个方法。我还在学习 Django。但是,我相信您不需要指定保存实例,因为它已经内置在 django 中。

    models.py

    class Data(models.Model):
    issuer = models.ForeignKey(Issuers, on_delete=models.CASCADE)
    issuer_field = models.ForeignKey(Fields, on_delete=models.CASCADE, null=True)
    data_year = models.PositiveSmallIntegerField()
    long_term_ar = models.IntegerField()
    section_1 = models.IntegerField()
    short_term_ar = models.IntegerField()
    short_term_investments = models.IntegerField()
    cash = models.IntegerField()
    

    admin.py

    from django.contrib import admin
    from .models import Data
    
    class DataAdmin(admin.ModelAdmin):
        list_display = ('issuer', 'issuer_field')
    
    
    admin.site.register(Data)
    

    【讨论】:

      猜你喜欢
      • 2012-04-12
      • 2011-04-18
      • 1970-01-01
      • 2018-06-23
      • 2015-09-11
      • 2011-07-09
      • 2013-03-08
      • 1970-01-01
      • 2018-05-05
      相关资源
      最近更新 更多