У меня есть простой класс, основанный на представлении, который расширяет общий UpdateView от Django (1.10). В GET представление представляет собой предварительно заполненную форму из связанной модели. На POST представление обновляет запись db, а затем перенаправляет пользователя на страницу списка, которая показывает все записи базы данных в таблице. Я использую свойство success_url для выполнения перенаправления.Обновление рабочей страницы
Однако, когда отображается перенаправление и отображается страница списка, изменения, внесенные мной во время обновления, не отражаются. Когда я смотрю в базе данных, изменения там.
Перенаправление должно быть вытаскиванием из предыдущего кеша или что-то в этом роде, но как я могу предотвратить это? Я использую Django 1.10; Ubuntu OS; Chrome Browser; поставляемый wsgi dev django webserver.
class UpdateBrandAmbassador(UpdateView):
model = BrandAmbassador
form_class = BrandAmbassadorForm
template_name = 'core/base_form.html'
title = "Update Brand Ambassador"
success_url = "/brand_ambassadors"
class BrandAmbassadorList(TemplateView):
headers = [
("Name", 16),
("Address", 20),
("City, State", 10),
("Zip", 5),
("E-Mail", 15),
("Phone", 10),
]
data = [each.as_list() for each in BrandAmbassador.objects.all()]
template_name = 'core/list_objects.html'
title = "Brand Ambassador Master"
update_delete_url = "brand_ambassadors"
class BrandAmbassador(models.Model):
name_last = CharField(max_length=255)
name_first = CharField(max_length=255)
address_1 = CharField(max_length=255, null=True)
address_2 = CharField(max_length=255, null=True)
city = CharField(max_length=255, null=True)
state = CharField(max_length=255, null=True)
zip_code = CharField(max_length=255, null=True)
email = EmailField(null=True)
phone = CharField(max_length=255, null=True)
region = ForeignKey(Region, related_name="brand_ambassadors")
def __str__(self):
return " ".join([self.name_first, self.name_last])
def as_list(self):
return [
self.id,
", ".join([self.name_last, self.name_first]),
" ".join([self.address_1, self.address_2]),
", ".join([self.city, self.state]),
self.zip_code,
self.email,
self.phone
]
Здесь нет кеша. Пожалуйста, покажите код для просмотра списка. –
Обновлено. Я думаю, это может быть, потому что я храню данные в свойстве класса ListView и не обновляюсь/обновляюсь. В шаблоне HTML я обращаюсь к свойствам с помощью views.data. Я делаю это вместо переопределения метода get_context_data. Возможно, я должен просто принять этот подход, но пытался что-то другое. – blosche