Django管理员:缺少一些记录的内联 [英] Django admin: missing inlines for some records

查看:81
本文介绍了Django管理员:缺少一些记录的内联的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这里与django管理员网站和内联有一些问题。我已经搜索了两天的解决方案,但没有任何内容。



我有两个模型:

  class Measurement(models.Model):
user = models.ForeignKey(User)
date = models.DateTimeField(auto_now_add = True)
#etc

class Media(models.Model):
measurement = models.ForeignKey(Measurement)
link = models.CharField(max_length = 255,blank = True)
description = models.TextField(blank = True)
#etc

管理网站的配置: / p>

  class MediaInline(admin.StackedInline):
model = Media
extra = 0

class MeasurementAdmin(admin.ModelAdmin):
inlines = [MediaInline,]

admin.site.register(Media)
admin.site.register(Measurement,MeasurementAdmin )

奇怪的是:管理站点显示一些Measurement对象的内联,不适用于其他。即使相关的记录在数据库中可见,整个表单也是不可见的(不存在)。另外, ValidationError:[u'ManagementForm数据丢失或已被篡改'] 异常是为这些对象引发的。有人处理这个吗?

解决方案

在90%的情况下,我看到这是由于 __ unicode __ 方法,其中django用于内联模板。


I'm having some problems here with django admin site and inlines. I've been googling for solution for two days now but nothing.

I have two models:

class Measurement(models.Model):
  user = models.ForeignKey(User)
  date = models.DateTimeField(auto_now_add=True)
  # etc

class Media(models.Model):
  measurement = models.ForeignKey(Measurement)
  link = models.CharField(max_length=255, blank=True)
  description = models.TextField(blank=True)
  # etc

And configuration for admin site:

class MediaInline(admin.StackedInline):
  model = Media
  extra = 0

class MeasurementAdmin(admin.ModelAdmin):
  inlines = [MediaInline,]

admin.site.register(Media)
admin.site.register(Measurement, MeasurementAdmin)

The strange thing is: admin site shows inlines for some Measurement objects and doesn't for some others. Whole formset is invisible (it's not there) even if related records are visible in database. Also, ValidationError: [u'ManagementForm data is missing or has been tampered with'] exception is raised for these objects. Have anyone dealed with this?

解决方案

In 90% cases i've seen this was due to error in __unicode__ method, which django use on inline template.

这篇关于Django管理员:缺少一些记录的内联的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆