Me encontré con el comportamiento que pensé que era una especie de almacenamiento en caché, pero resultó ser que las transacciones de la base de datos me engañaban.
que tenían el problema de que en otro proceso, los elementos se se añaden a la base de datos, y quería para monitorear el progreso del otro proceso, por lo que abrió una cáscara de Django y emitió la siguiente:
>>> MyData.objects.count()
74674
>>> MyData.objects.count()
74674
El valor no cambiaba, aunque realmente estaba en la base de datos. Me di cuenta de que al menos con la forma en que tenía MySQL & configuración django que estaba en una transacción y solo vería una "instantánea" de la base de datos en el momento en que abrí la transacción.
Dado que con las vistas en django, tenía el comportamiento de autocommitido definido, esto estaba bien para que cada vista solo vea una instantánea, ya que la próxima vez que se llamara a una vista sería en una transacción diferente. Pero para un fragmento de código que no se estaba confirmando automáticamente, no vería ningún cambio en el db, excepto los que se realizaron en esta transacción.
Sólo pensé en arrojar esta respuesta para cualquier persona que pueda encontrarse con esta situación.
de resolver, de comprometer su operación, lo cual puede hacerse manualmente, así:
>> from django.db import transaction
>> transaction.enter_transaction_management()
>> transaction.commit() # Whenever you want to see new data
duplicado posible de [¿Cómo fuerzo Django hacer caso omiso de cualquier caché y volver a cargar los datos?] (Http://stackoverflow.com/questions/3346124/how-do-i-force- django-to-ignore-any-caches-and-reload-data) –