2016-01-03 1 views
1

У меня есть очень простой ManyToMany отношения: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: все эти администраторов URLs как:

/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 

Это первый раз, у меня есть такая странная проблема, и ничего подобного на StackOverflow.

+0

Я пробовал свой код. Кажется, нет проблем с данными света. Возможно, вам потребуется проследить ошибку при настройке параметров виджета. 'Исключение Расположение: C: \ python27 \ Lib \ сайт-пакеты \ Джанго \ формы \ widgets.py в render_options, линия 547' А что, если вы удалите __str__ метод как из' 'Mot' и GroupeCategories' для тестирование. – kia

+0

Я знаю почему. Моя внешняя таблица имеет ** '2 446 963' ** строки. Таким образом, Django пытается заполнить '