2016-01-03 30 views
1

我有一個非常簡單的多對多關係:的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 

這是我第一次有這樣一個奇怪的問題,並沒有像上計算器。

+0

我試過你的代碼。輕量級數據似乎沒有問題。 您可能需要跟蹤呈現小部件選項的錯誤。 '異常位置:C:\ Python27 \ LIB \站點包\ Django的\表格\ widgets.py 在render_options,行547' 如果你從兩個'Mot'和'GroupeCategories'用於去除__str__方法是什麼測試。 – kia

+0

我知道爲什麼。我的外表有** 2 446 963 **行。因此,Django試圖用**'2 446 963' **值填充'