Функции createXML
и updateXML
специфичны для данной конкретной модели? Если это так, как представляется вероятным, то лучше всего сделать их методы на myModel
:
class MyModel(models.Model):
...fields...
def createXML(self):
... do stuff with self ...
def save(self, *args, **kwargs):
if not self.pk:
self.createXML()
и так далее. Для меня это, безусловно, лучшее решение, и совсем не грязное.
Однако, если это действительно не работает для вас, есть несколько способов избежать проблемы с импортом. Возможно, лучше всего поместить функции XML в третий модуль, например, lib.py
, который вы можете импортировать в свои модели.
Третий вариант - импортировать функции XML в самом методе сохранения, а не на уровне модуля:
def save(self, *args, **kwargs):
from myapp.views import createXML, updateXML
Однако я думаю, что первые два варианта были бы предпочтительнее.