У меня возникли некоторые проблемы с методом save () Джанго.
1 / У меня есть эта простая модель:
class User (models.Model):
userId = models.IntegerField()
appInstance = models.TextField(null=True, blank=True)
2 / Затем в представлении я проверяю, является ли appInstanceсуществует, и если нет, я вызываю функцию:
if not u.appInstance:
instance = autoAddApplication(request)
3 /, и autoAddApplication определяется следующим образом:
def autoAddApplication(request):
session = request.session
user = get_object_or_404(User, userId = session['user_id'])
## do stuff here and end up with an 'instanceMap' dictionary
user.appInstance = simplejson.dumps(instanceMap)
user.save()
return instanceMap
Код выполняется без ошибок, но я не получаюМодель, сохраненная в базе данных при вызове функции autoAddApplication из условия на шаге 2.
Я попытался вызвать эту функцию 'autoAddApplication' напрямую, сопоставив URL-адрес непосредственно с этой функцией, и затем она работает, и ясохранить мою модель в БД.
Я полностью озадачен здесь.Почему это не работает, когда я вызываю эту функцию autoAddApplication из другой функции?Любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ Я наконец обнаружил, что я делаю неправильно.Позже на шаге 2 у меня был u.save (), который действительно сохранял вас (и, следовательно, отменял изменения, которые я сделал в функции autoAddApplication).Я решил это, передав вам функцию autoAddApplication.
В любом случае, спасибо за вашу помощь.