У меня есть очень простой 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.
Я пробовал свой код. Кажется, нет проблем с данными света. Возможно, вам потребуется проследить ошибку при настройке параметров виджета. 'Исключение Расположение: C: \ python27 \ Lib \ сайт-пакеты \ Джанго \ формы \ widgets.py в render_options, линия 547' А что, если вы удалите __str__ метод как из' 'Mot' и GroupeCategories' для тестирование. – kia
Я знаю почему. Моя внешняя таблица имеет ** '2 446 963' ** строки. Таким образом, Django пытается заполнить '
Ну, это хуже, чем это: это многоголосие, поэтому это означает, что для * each manytomany *, в Inline admin, есть комбо из 2446963 значений ... –