Я добавил модель к администратору Django и включил list_editable для определенного поля. Когда я сохраняю изменения, это занимает много времени и в какой-то момент времени ожидания запроса.
Здесь Модель:
class ClientASTM(models.Model):
client = ForeignKey2(Client, related_name='astms', verbose_name='client')
day = models.DateField(verbose_name='day')
last_occurence_date = models.DateField(verbose_name='last occurence', null=True, blank=True)
search_term = models.CharField(verbose_name='search term', max_length=255)
is_exclude = models.BooleanField(verbose_name='is exclude', default=False)
add_datetime = models.DateTimeField(verbose_name='add datetime', auto_now_add=True)
mod_datetime = models.DateTimeField(verbose_name='mod datetime', auto_now=True)
def __unicode__(self):
return u'%s: %s -> %s' % (self.client, self.search_term, self.day)
class Meta:
ordering = ('-day',)
unique_together = (('client', 'day', 'search_term'),)
verbose_name = 'Client ASTM'
А тут моя модель админа:
class ClientASTMAdmin(admin.ModelAdmin):
list_editable = (
'is_exclude',
)
list_display = (
'id',
'day',
'search_term',
'is_exclude'
)
Это довольно простой, и я не знаю, что это занимает так много времени.
У вас есть идеи, где я мог бы провести расследование ? Или ты знаешь, что я сделал не так ?
Большое спасибо за помощь.
В итоге я заменил list_editable действием администратора. Моя теория заключается в том, что когда вы используете «list_editable», он анализирует каждый отдельный объект. Таким образом, если у вас есть 1 000 000 элементов, он будет анализировать каждый из них.
Вот мое решение:
Это быстрее, потому что он обновляет только выбранные элементы.