我有一個非常簡單的多對多關係:的MemoryError在...沒有異常消息提供
@python_2_unicode_compatible
class Mot(BaseModel):
groupes_categories = models.ManyToManyField(GroupeCategories, blank=True,
through='MotGroupeCategories',
symmetrical=False,
related_name='mot')
texte = models.CharField(max_length=150)
def __str__(self):
return _(u'{}').format(self.texte)
@python_2_unicode_compatible
class GroupeCategories(models.Model):
description = models.CharField(max_length=150)
exemple = models.CharField(max_length=150, blank=True, default=None,
null=True)
def __str__(self):
return _(u'{0}{1}').format(
self.description,
u' ({0})'.format(self.exemple) if self.exemple else u''
)
@python_2_unicode_compatible
class MotGroupeCategories(models.Model):
mot = models.ForeignKey(Mot, blank=False)
groupe_categories = models.ForeignKey(GroupeCategories, blank=False)
def __str__(self):
return u'{} - {}'.format(self.mot.texte,
self.groupe_categories.description)
我已經做了很多次,和一切工作正常,除了當我想通過給藥MotGroupeCategories
編輯:
class MotGroupeCategoriesAdmin(admin.ModelAdmin):
def mot_texte(self, obj):
return obj.mot.texte
mot_texte.allow_tags = True
mot_texte.short_description = _(u'I.')
fields = ('mot', 'groupe_categories')
list_display = ('groupe_categories', 'mot_texte', 'id')
list_display_links = list_display
search_fields = ['description']
admin.site.register(MotGroupeCategories, MotGroupeCategoriesAdmin)
一切正常,除非我想編輯MotGroupeCategories
:所有管理員的網址,如:
/admin/main/motgroupecategories/[id]/
結果
MemoryError at /admin/main/motgroupecategories/12060915/
No exception message supplied
Request Method: GET
Request URL: /admin/main/motgroupecategories/[id]/
Django Version: 1.8.7
Exception Type: MemoryError
Exception Location: C:\Python27\lib\site-packages\django\forms\widgets.py
in render_options, line 547
這是我第一次有這樣一個奇怪的問題,並沒有像上計算器。
我試過你的代碼。輕量級數據似乎沒有問題。 您可能需要跟蹤呈現小部件選項的錯誤。 '異常位置:C:\ Python27 \ LIB \站點包\ Django的\表格\ widgets.py 在render_options,行547' 如果你從兩個'Mot'和'GroupeCategories'用於去除__str__方法是什麼測試。 – kia
我知道爲什麼。我的外表有** 2 446 963 **行。因此,Django試圖用**'2 446 963' **值填充'
好吧,它比這更糟糕:它是一個很多的東西,所以這意味着對於*每個manytomany *,在行內管理員,有一個組合的2446963值... –