Как удалить объекты/посты из базы данных при закрытии окна/вкладки в Django

Я хочу удалять объекты из базы данных при закрытии окна. В принципе, причина, по которой я хочу это сделать, заключается в том, что каждый раз, когда пользователь добавляет какой-либо город (это погодное приложение, где вы можете ввести название города и получить данные о погоде) для поиска погоды в городе, он сохраняет информацию о городе в моей базе данных Sqlite навсегда. и показывает погоду этого города другим пользователям также.

Чего я не хочу. Итак, в основном я хочу удалить данные других пользователей и не хочу сохранять их в своей базе данных навсегда и показывать другому пользователю те же данные (которые ищет другой пользователь). Что я могу сделать?

Любая помощь будет принята с благодарностью.

Views.py

from django.shortcuts import redirect, render, redirect
from .models import City
from .forms import CityForm
import math
def home(request):
    api_id = 'http://api.openweathermap.org/data/2.5/weather?q={}&units=metric&appid={appid}'
    err_msg = ''
    message = ''
    message_class = ''
    if request.method == 'POST':
        form = CityForm(request.POST)

        if form.is_valid():
            new_city = form.cleaned_data['name']
            existing_city_count = City.objects.filter(name=new_city).count()
            if existing_city_count == 0:
                r = requests.get(api_id.format(new_city)).json()
                print(r)
                if r['cod'] == 200:
                    form.save()
                else:
                    err_msg = 'You City is Belongs to Mars ig. City Does not exist in the world'
                    print(err_msg)
            else:
                err_msg = 'City Already Exists in the DataBase'
        if err_msg:
            message = err_msg
            message_class='is-danger'
        else:
            message = 'City Added Successfully!'
            message_class = 'is-success'
    cities = City.objects.all()
    form = CityForm()
    weather_data = []

    for city in cities:

        r = requests.get(api_id.format(city)).json()

        city_weather = {
            'city':city.name,
            'temperature':math.ceil(r['main']['temp']),
            'humidity':r['main']['humidity'],
            'wind':math.ceil(r['wind']['speed']),
            'description':r['weather'][0]['description'],
            'icon': r['weather'][0]['icon'],
        } 
        weather_data.append(city_weather)

    context = {
        'weather_data':weather_data,
        'form':form,
        'message':message,
        'message_class':message_class
}
    return render(request,'Weather.html', context)

def delete_city(request, city_name):
    City.objects.get(name=city_name).delete()

    return redirect('home')

models.py

from django.db import models
class City(models.Model):
    name = models.CharField(max_length=25)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name_plural = 'cities'

forms.py

from django.forms import ModelForm ,TextInput
from .models import City

class CityForm(ModelForm):
    class Meta: 
        model = City
        fields = ['name']
        widgets = {'name' : TextInput(attrs={'class':'input','Placeholder':'City Name'})}

urls.py

from django.urls import path
from . import views
urlpatterns = [
    path('', views.home , name='home'),
    path('delete/<city_name>/',views.delete_city, name="delete_city")
]
Вернуться на верх