相关疑难解决方法(0)

Django InlineModelAdmin:部分显示内联模型并链接到完整模型

我定义了几个模型:期刊,卷,volume_scanInfo等.

日志可以拥有更多卷,而卷可以拥有更多scanInfo.

我想做的是:

  • 在期刊的管理页面中我想要内联的卷列表(完成)
  • 将上一个列表的每个卷连接到其管理页面,我可以在其中显示表单以编辑卷以及内联的"扫描信息"列表.

所以我希望有类似的东西:

Journal #1 admin page
[name]
[publisher]
[url]
.....
list of volumes inline
    [volume 10] [..(other fields)..]   <a href="/link/to/volume/10">Full record</a>
    [volume 20] [..(other fields)..]   <a href="/link/to/volume/20">Full record</a>
Run Code Online (Sandbox Code Playgroud)

然后

Volume #20 admin page
[volume number]
[..(other fields)...]
......
list of the scan info inline
    [scan info 33] [..(other fields)..]   <a href="/link/to/scaninfo/33">Full record</a>
    [scan info 44] [..(other fields)..]   <a href="/link/to/scaninfo/44">Full record</a>
Run Code Online (Sandbox Code Playgroud)

我尝试做的是定义一个模型方法,该方法创建代码并尝试在管理中定义"volume inline"的类中使用它,但它不起作用.

换一种说法

模型"卷"有类似于:

def selflink(self):
    return '<a href="/admin/journaldb/volume/%s/">Full record</a>' % self.vid
selflink.allow_tags = True
Run Code Online (Sandbox Code Playgroud)

和 …

python django django-admin

32
推荐指数
4
解决办法
2万
查看次数

Django管理员的嵌套内联?

好吧,我有一个相当简单的设计.

class Update(models.Model):
    pub_date = models.DateField()
    title = models.CharField(max_length=512)

class Post(models.Model):
    update = models.ForeignKey(Update)
    body = models.TextField()
    order = models.PositiveIntegerField(blank=True)

class Media(models.Model):
    post = models.ForeignKey(Post)
    thumb = models.ImageField(upload_to='frontpage')
    fullImagePath = models.ImageField(upload_to='frontpage')
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法允许用户在一个页面上创建更新?

想要的是让用户能够进入管理界面,添加新的更新,然后在编辑更新时添加一个或多个帖子,每个帖子都有一个或多个媒体项目.此外,我希望用户能够在更新中重新排序帖子.

我目前的尝试在admin.py中有以下内容:

class MediaInline(admin.StackedInline):
    model = Media

class PostAdmin(admin.ModelAdmin):
    inlines = [MediaInline,]
Run Code Online (Sandbox Code Playgroud)

这让用户添加一个新的Post项目,选择相关的Update,将Media项目添加到它,然后点击save - 这很好.但是没有办法在一个地方看到属于给定更新的所有帖子,这反过来意味着你不能在更新中浏览帖子.这对最终用户来说真的很混乱.

救命?

python django django-models django-admin

32
推荐指数
3
解决办法
2万
查看次数

Django嵌套内联表单集

我正在尝试解决问题,但我不知道如何面对它.我需要一些帮助 :-)

我有这样的模型层次结构:

class Task(models.Model):
    name = models.CharField(max_length=255)
    number_of_steps = models.IntegerField()

class StepGroup(models.Model):
    task = models.ForeignKey(Task)
    init_date = models.DateField()

class Step(models.Model):
    group = models.ForeignKey(StepGroup)
    name = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)

我必须编写一个对话框,在其中创建一些步骤组.InlineFormSet看起来可行,但由于嵌套有两个层次,我不知道如何做到这一点.

此外,我需要通常的表单形式:错误控制(form.name_of_field.errors),编辑任务时的自动填充等,所以使用javascript手动执行它,服务器端处理POST请求将太复杂和错误 - 易于.

这是我需要表单的方式(每个组中的步骤数由Task模型中的"number_of_steps"字段设置):

+-----------------------------------+
| STEP GROUP 1                      |
|                                   |
| Init date: _____________          |
|                                   |
| Step 1: ________________          |
| Step 2: ________________          |
| Step 3: ________________          |
|                                   |
+-----------------------------------+
| STEP GROUP 2                      |
|                                   |
| Init date: _____________          |
|                                   |
| …
Run Code Online (Sandbox Code Playgroud)

django django-forms

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

在Django管理员中,有没有办法显示模型的一对多对象的实际链接列表?

如果这太复杂或者不是正确的做事方式,请随时将我与其他事物联系起来或者告诉我我应该采取另一种方式......

基本上,我正在开发一个有客户端的项目,每个项目都附加了任意数量的网站.因此,网站模型对客户端模型具有ForeignKey.网站管理页面非常深入,每个客户可能有10个或更多网站,所以我宁愿不将它们全部显示为内联,因为这看起来非常混乱和疯狂.

我想要的是,当你进入管理面板并点击客户端时,你会被带到更改页面,在那里它有你为客户编辑的基本内容,然后内联实际链接到每个客户端.客户的网站管理页面.像这样:

改变客户

一般

名称:

地址:

电话:

网站

链接编辑网站1

链接编辑网站2

链接编辑网站3

链接编辑网站4

链接编辑网站5

django django-admin

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