У меня есть модель, которая содержит однозначные поля для других моделей. Я перебил метод сохранения, чтобы автоматически назначать эти однозначные поля. Проблема заключается в том, что всякий раз, когда я сохраняю эту модель, использование памяти увеличивается примерно на 450 Кб и никогда не освобождается. Метод сохранения выглядит следующим образом:
class Link(models.model):
id = models.CharField(max_length=11, primary_key=True)
fieldOne = models.OneToOneField(One, null=True, editable=False)
fieldTwo = models.OneToOneField(Two, null=True,, editable=False)
fieldThree = models.OneToOneField(Three, null=True,, editable=False)
def save(self, *args, **kwargs):
self.fieldOne = One.objects.get(id=self.id)
self.fieldTwo = Two.objects.get(id=self.id)
self.fieldThree = Three.objects.get(id=self.id)
super(Link, self)save(*args, **kwargs)
Я полагаю, что утечка памяти происходит в строке при вызове objects.get (), так как, когда я комментирую, я не заметил увеличения использования mem.