Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
OneToOne connection between User and Profile in Django
I am creating an app in django in which after user model is created, via the signal I create a profile: from django.contrib.auth.models import User class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) @receiver(post_save, sender=User) def create_user_profile(sender, instance, created, **kwargs): if created: Profile.objects.create(user=instance) @receiver(post_save, sender=User) def save_user_profile(sender, instance, **kwargs): instance.profile.save() But as far as I feel, this does not guarantees me that profile id always equals user's one Is there any smart way to do this safer? I think about creating a signal which will delete profile model after user one and opposite, but I still feel that not all cases are covered -
Django login user never come true
I am having problems with my Django login. The below if statement (if user is not None:) always resolves as false, so it moves onto the else. I'm not sure why and I would appreciate any help Thanks VIEWS.PY from django.shortcuts import render,redirect from django.contrib.auth import authenticate,login,logout from django.contrib import messages # Create your views here. def login_user(request): if request.method == 'post': username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return redirect('index.html') else: messages.success(request,("there is an error....")) return redirect('login') else: return render (request ,'login.html', {}) urls.py from django.urls import path from accounts import views urlpatterns = [ path('login_user', views.login_user ,name= 'login'), ] main urls.py "" from django.contrib import admin from django.urls import path,include from availability import views urlpatterns = [ path('admin/', admin.site.urls), path('', include('availability.urls'), name='index'), path('accounts/', include('django.contrib.auth.urls')), path('accounts/', include('accounts.urls')), ] ''' And here is the login form: <form action="" method="post"> {% csrf_token %} <div class="input-group mb-3"> <input type="text" class="form-control" name='username' placeholder="username"> <div class="input-group-append"> <div class="input-group-text"> <span class="fas fa-user"></span> </div> </div> </div> <div class="input-group mb-3"> <input type="password" class="form-control" name='password' placeholder="Password"> <div class="input-group-append"> <div class="input-group-text"> <span class="fas fa-lock"></span> </div> </div> </div> <div class="row"> <div class="col-8"> <div class="icheck-primary"> <input type="checkbox" id="remember"> <label for="remember"> … -
fetch data from pre-existing table and paste it into view of another django model
How can I make realtime changes of my view using django model and a pre existing table ? I have a table of random data of people like this people table and I have a model with class Todo(models.Model): title = models.CharField(max_length=100) memo = models.TextField(blank=True) voyageur = models.PositiveIntegerField(default=1) # set to current time created = models.DateTimeField(auto_now_add=True) completed = models.BooleanField(default=False) # user who posted this user = models.ForeignKey(User, on_delete=models.CASCADE) def __str__(self): return self.title I want the data from the people table to be changed in the memo textfields in real time as I change the value of voyageur which can be associated to the primary key of "people" visualize in real time data as I change value of voyageur is this possible ? do I have to pass from a front end app like react to do that ? -
Reverse for 'Add' with arguments '('',)' not found. 1 pattern(s) tried: ['agregar/(?P<producto_id>[0-9]+)/\\Z']
I'm doing a tutorial from django, and i getting this error when trying to add an href button, i use django 4.0.4 version and python 3.9 version. Models.py class Producto(models.Model): serie_producto = models.CharField(max_length=30) nombre = models.CharField(max_length=30) codigo = models.CharField(max_length=15) marca = models.CharField(max_length=30) precio = models.IntegerField() created_date = models.DateTimeField(default=timezone.now) urls.py ... urlpatterns = [ ... path('agregar/<int:producto_id>/', agregar_producto, name="Add"), ... ] template catalogo that causes te error. The message error highlights {% url 'Add' producto.id %} {% for producto in response %} <div class="col-6"> <div class="card" style="height: 10rem; width: 23rem; margin: 5px 0px;"> <div class="card-body"> <h5 class="card-tittle">{{producto.nombre}}</h5> <p class="card-text">{{producto.marca}}</p> <p class="card-text">{{producto.precio}}</p> <a href="{% url 'Add' producto.id %}" class="btn btn-primary">Agregar al carrito</a> </div> </div> </div> {% endfor %} view.py from tienda.models import Producto from tienda.carrito import Carrito def catalogo(request): url = "http://127.0.0.1:8000/api/Producto/" response = requests.get(url, auth=('admin','duoc')) datos = response.json() return render(request, 'catalogo.html', {'response' : datos }) def agregar_producto(request, producto_id): carrito = Carrito(request) producto = Producto.objects.get(id=producto_id) carrito.agregar(producto) return redirect("Tienda") The Problem When i got to the catalogo template i get the before mentioned error, the api works perfectly when i dont use the {% url 'Add' producto.id %}, i think that is something with the id, cant read it maybe??, i dont know if … -
How to make Django using Pillow to crop only new image?
I can make Django crop images, but I got a problem. When I go to change form to update one of the images, all images got cropped again and again after every new save - which means all images get smaller and smaller. How to make Django only crop new images and leave old images alone? Each of my images got a crop count field - when set to 0 the image could be cropped and if set to 1 the image could not be cropped. Each image also got a created_date field which automatically generated a timestamp. Can any of these extra fields be used to create a condition in which an image won't get cropped twice when a whole model got updated? Example: product 1 = got image_1, image_2, image_3, -- image_1 got crop_count and created_date fields, same goes for all other images. -- I want is to go to image_1 to update it with a newer image, and I don't want to see image_2 and image_3 got cropped - but only image_1 gets cropped. How? I know how to use signal in Django, so should this be post-save or pre-save? -
Email Not Sending in AWS SES
Settings.py EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = True EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com' EMAIL_HOST_USER = config('SMTP_USER') EMAIL_HOST_PASSWORD = config('SMTP_PW') EMAIL_PORT = 587 VERIFIED_IDENTITY = config('VERIFIED_IDENTITY') I have a verified email in my AWS SES and I am trying to send a message. I get a sent message everytime I use my contact form but no message actually gets sent. if 'contactForm' in request.POST: #print('Contact form') contact_form = ContactForm(request.POST) if contact_form.is_valid(): contact_form.save() email_subject = f'New contact {contact_form.cleaned_data["email"]}: {contact_form.cleaned_data["subject"]}' email_message = contact_form.cleaned_data['message'] print(email_subject,email_message) try: send_mail(email_subject, email_message,settings.VERIFIED_IDENTITY,[settings.VERIFIED_IDENTITY]) except BadHeaderError: print('bad') -
Making a dropdown list based on an IntegerField's value django
I want to display the Nombre_des_Emplacments IntegerField in the Rayons model as a dropdown menu in the References Model below, for example the number inputted is 44, I want for the dropdown menu to show the numbers between 1 and 44 as choices to select from, and after a number is selected and saved after adding the References, it has to be taken out from the choices and not show up again when adding a new Reference, Exp: if 20 is selected next time the dropdown menu will show all the numbers from 1 to 44 except 20 just so you know the Nombre_des_Emplacments IntegerField is also suppossed to be dependent on Rayons.Nom from the same Model which will also be a dropdown menu So when adding a reference and I get to the Emplacment field, I select the Rayon and depending on what I selected the second dropdown menu will show the correlated numbers with that Rayons here's the code: models:py class Rayons(models.Model): Nom = models.CharField(max_length=100, blank=False, null=True) Nombre_des_Emplacments = models.IntegerField() def __str__(self): return self.Nom class References(models.Model): Ref = models.CharField(max_length=255, blank=False, null=True) Designation = models.CharField(max_length=100, blank=False, null=True) Indice = models.CharField(max_length=100, blank=False, null=True) Emplacment = models.ForeignKey(Rayons, blank=False, null=True, on_delete=models.CASCADE) Client … -
How to fix this problem in django? about subprocess.Popen and session
this is my views.py @csrf_exempt def tictactoe_ai(request): context = {'current_url' : '/tictactoe'} if request.method == "GET": my_ai = Tic_ai.objects.create() request.session['tictai_id'] = str(my_ai.id) return render(request,'static_page/tictactoe_ai.html',context) if request.is_ajax(): res = {} the_id = int(request.session['tictai_id']) my_ai = Tic_ai.objects.get(id = the_id) rest = request.POST x,y = rest.get("x"),rest.get("y") a = str(x) + ' ' + str(y) + '\n' message = my_ai.in_stuf(a) res["x"],res["y"] = message.split(" ") return JsonResponse(res) this is my models.py class Tic_ai(models.Model): ai = subprocess.Popen( r"D:\duoduo2\DDQK-Caesar\ddqk-caesar\static_page\tictac_ai.exe", stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True) def in_stuf(self,a): self.ai.stdin.write(a.encode()) self.ai.stdin.flush() return self.ai.stdout.readline().decode().replace('\n','').replace('\r','') def finish(self): self.ai.kill() I found that although the code "my_ai = Tic_ai.objects.create()" was excecute. but the ai are all the same. I want to have different ai in different Tic_ai. But the "ai" are all the same please. This trouble had disturbed me for a whole day -
How to easily find patch target in unittest?
I have the following module structure within a Django app: subscriptions - api - views.py - serializers.py - tests test_some_view.py - models.py - signals.py In models.py I have a GooglePlayOrder model, and in signals.py I have a signal: @receiver(post_save, sender=GooglePlayOrder) def save_google_play_order(sender, instance, created, **kwargs): pass The GooglePlayOrder instance is being created in a serializer GooglePlayOrderSerializer from api/serializers.py, which is called by some GooglePlayOrderView in api/views.py. And now I want to run a test from api/tests/test_some_view.py, where I want to mock the save_google_play_order signal. Unfortunately, this implementation does not work, as I (AFAIK) should follow the imports for patching something: @patch('subscriptions.signals.save_google_play_order') def test_normal(self, mock): So, how should I understand in this case what exactly I should use as a target of patch decorator? -
django.db.utils.IntegrityError: NOT NULL constraint failed: pages_add_music.upload error
i wrote a code to upload images of music and it works ,but when i try to edit older posts (i hadnt add img field yet) it shows this error django.db.utils.IntegrityError: NOT NULL constraint failed: pages_add_music.upload my models: class add_music(models.Model): name = models.CharField(max_length=100) artist = models.CharField(max_length=100) nation = models.CharField(max_length=100) language = models.CharField(max_length=100) year = models.DecimalField(max_digits=4,decimal_places=0,null=True) genre = models.TextField() duration = models.DecimalField(max_digits=3,decimal_places=2,null=True) upload = models.DateTimeField(auto_now_add=True) img = models.ImageField(blank=True,null=True,upload_to='images/') def __str__(self): return self.name.title()+" by "+self.artist views: def edit_music_view(request,music_id): my_object = add_music.objects.get(id=music_id) if request.method != 'POST': form = add_music_form(instance=my_object) else: form = add_music_form(instance=my_object,data=request.POST) if form.is_valid(): form.save() context={'form':form,'my_object':my_object} return render(request,'pages/edit_music.html',context) and template: {% extends 'pages/base.html' %} {% block content %} <p>{{ my_object }}</p> <form action="{% url 'pages:edit_music' my_object.id %}" method='post' enctype="multipart/form-data"> {% csrf_token %} {{ form.as_p }} <button type="submit" value="yes">save</button> </form> {% endblock %} whats wrong with it?can u hlp me pls? -
ValueError: Unknown metric function: top_2_accuracy. Please ensure this object is passed to the `custom_objects` argument
I'm working on a CNN classification project, and I've used the top 2 Accuracy (top_k_categorical_accuracy) as the accuracy matrix for training. the function in the model notebook is: from tensorflow.keras.metrics import top_k_categorical_accuracy def top_2_accuracy(y_true, y_pred): return top_k_categorical_accuracy(y_true, y_pred, k=2) then I used it as model.compile(optimizer = Adam(lr = 4e-3), loss='categorical_crossentropy', metrics=['accuracy', top_2_accuracy]) Now I need to load the model to use it in an application I tried to use this code: model = tf.keras.models.load_model('model.h5') but an error occurred while loading Unknown metric function: top_2_accuracy. Please ensure this object is passed to the `custom_objects` argument. See https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object for details. then I've googled and tried this too: model = tf.keras.models.load_model('model.h5', custom_objects={'top_k_categorical_accuracy(y_true, y_pred, k=2)':top_2_accuracy}) but it generated another error model = tf.keras.models.load_model('model.h5', custom_objects={'top_k_categorical_accuracy(y_true, y_pred, k=2)':top_2_accuracy}) NameError: name 'top_2_accuracy' is not defined How can I solve this?? -
How to change in Sqlite the order of the results?
I'm working on a site where I showing results on a timeline chart but I like to show only the last three results. In ASC order the the first point of the chart starts on the left side but if I have more than three results the first three appears and thats ot what I want. If I order my result in DESC by the date it changing the order and it is OK but the last three results (that I need) takes the firs places on the left side (like on the image). I like to show the last three results from left to right. How could I do that? This is what I have now: SELECT * FROM table GROUP BY strftime("%%Y-%%m", date) ORDER BY max(strftime("%%Y-%%m", date)) DESC LIMIT 3 -
IntegrityError at /listing/1/ NOT NULL constraint failed: auctions_comments.user_id. I am trying to save comments and need help resolving this error
I am trying to make an e-commerce site (CS50 Project 2) that saves comments. The comments were previously saving, but then I added ForeignKeys to my comment model to link it to the Listings and User models. Now whenever I try to save a comment this error occurs. IntegrityError at /listing/1/ NOT NULL constraint failed: auctions_comments.user_id Request Method: POST Request URL: http://127.0.0.1:8000/listing/1/ Django Version: 3.2.5 Exception Type: IntegrityError Exception Value: NOT NULL constraint failed: auctions_comments.user_id And this line of code is highlighted comment.save(). This is my models.py: class User(AbstractUser): pass class Listings(models.Model): CATEGORY = [ ("Miscellaneous", "Miscellaneous"), ("Movies and Television", "Movies and Television"), ("Sports", "Sports"), ("Arts and Crafts", "Arts and Crafts"), ("Clothing", "Clothing"), ("Books", "Books"), ] title = models.CharField(max_length=64) description = models.CharField(max_length=500) bid = models.DecimalField(max_digits=1000000000000, decimal_places=2) image = models.URLField(null=True, blank=True) category = models.CharField(max_length=64, choices=CATEGORY, default=None) class Comments(models.Model): listing = models.ForeignKey(Listings, on_delete=models.CASCADE, default="") user = models.ForeignKey(User, on_delete=models.CASCADE, default="") comment = models.CharField(max_length=500) views.py @login_required(login_url='login') def listing(request, id): listing = Listings.objects.get(id=id) comment_obj = Comments.objects.filter(listing=listing) form = CommentForm() if request.method == "POST": form = CommentForm(request.POST) if form.is_valid(): comment = form.save(commit=False) comment.listing = listing comment.save() else: return render(request, "auctions/listing.html",{ "auction_listing": listing, "form": form, "comments": comment_obj }) return render(request, "auctions/listing.html",{ "auction_listing": listing, "form": form, "comments": comment_obj … -
For some reason my modle data is nto displying in my view
I have been working on a blog project for some time and I have run into a big issue. When I go to a specific blog posts page the data for that page does not load. It is not a problem with the URL bc the URL is unique for every blog post. Any help would be appreciated. views from django.shortcuts import render, reverse from django.http import HttpResponseRedirect from django.views import generic from . import models from django.contrib.auth import get_user_model User = get_user_model() from django.urls import reverse_lazy from django.contrib.auth.mixins import LoginRequiredMixin # Create your views here. class create_blog_post(generic.CreateView, LoginRequiredMixin): model = models.Blog_Post template_name = 'blog_app/creat_post.html' fields = ('post_title', 'blog_content') success_url = reverse_lazy('blog_app:all') class view_blog_post(generic.TemplateView): model = models.Blog_Post template_name = 'blog_app/view_post.html' class delet_blog_post(generic.DeleteView, LoginRequiredMixin): model = models.Blog_Post template_name = 'blog_app/delete_post.html' def get_queryset(self): queryset = super().get_queryset() return queryset.filter(user_id = self.request.user.id) def delete(self, *args, **kwargs): messages.success(self.request, 'Post Deleted') return super().delete(*args, *kwargs) class all_blog_posts(generic.ListView): model = models.Blog_Post template_name = 'blog_app/all_posts.html' #slug_url_kwarg = "slug" modles.py from django.db import models from taggit.managers import TaggableManager # Create your models here. class IpModel(models.Model): ip = models.CharField(max_length=100) def __str__(self): return self.ip class Blog_Post(models.Model): slug = models.SlugField(max_length=1000, editable=False, null=True) post_title = models.CharField(max_length=100, editable=True, blank=False, null=True) blog_content = models.TextField(max_length=10000, blank=False, editable=True, … -
If an app has multiple models with the same field, whats the best practice for keeping things DRY?
For example, if I have 3 models that look like this: class CallLog(models.Model): lead_id = models.BigIntegerField("Lead ID") # other fields class EmailLog(models.Model): lead_id = models.BigIntegerField("Lead ID") # other fields class TextLog(models.Model): lead_id = models.BigIntegerField("Lead ID") # other fields Do I add lead_id to each model individually or is there a way to only type it once? -
Django Admin actions don't work after redefining primary key of the model
I am using standard models.Model in Django. I changed my primary key to _id (mongo). After that, actions in Django Admin don't work anymore. For example, when I use the default Django action – Delete selected, no object is found through the query. However, no problem occurs when I edit or delete objects manually. Is there any way to fix it? Are you sure you want to delete the selected companies? -> Summary, objects: None -
Mon projet s'appellegescard, et lorsque je lance le serveur, j'obtiens cette erreur. Tout le monde sait comment corriger cette erreur
here we see the error that occurs in my server this is my setting page here we see the url.py page -
Cannot understand django user group change signal behavior
I have a function to receive a signal when users change their group. @receiver(signal=m2m_changed, sender=User.groups.through) def save_profile(instance, action, reverse, model, pk_set, using, *args, **kwargs): print(model, instance) When I change the group of the user with username "test" using the superadmin interface it outputs <class 'django.contrib.auth.models.Group'> test. But when I do it using following code, group = Group.objects.get(name='Customer') group.user_set.add(user) user.save() it outputs <class 'django.contrib.auth.models.User'> Customer. Because of the above issue I cant use if instance.groups.filter(name='Customer').exists(): #Do something inside the save_profile funtion. When I change groups using second method it gives AttributeError at /register/ 'Group' object has no attribute 'groups' error. How can I avoid getting this error? -
"DJANGO_SETTINGS_MODULE" bash: syntax error near unexpected token
I wonder why I get this error : django.core.exceptions.ImproperlyConfigured: Passing a 3-tuple to include() is not supported. Pass a 2-tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead. (.venv) this is my code : $ python manage.py runserver 9999 then I tried $ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") however it turns out: bash: syntax error near unexpected token `"DJANGO_SETTINGS_MODULE",' (.venv) -
how to using cookies to get data from local storage - DJANGO
i was new in django. i want to get my data back from local storage, but i don't know how to get it. can someone explain me? my application using form NOT MODELS. the application made using django, i use FileField to get files and pass it to local storage. i was hear to get data, i can use cookies, since client data at local storage can't be get. from django import forms class Audio_store(forms.Form): password=forms.FileField(widget=forms.FileInput(attrs={'style': 'width: 300px;', 'class': 'form-control', 'text-align' : 'center;'})) audio=forms.FileField(widget=forms.FileInput(attrs={'style': 'width: 300px;', 'class': 'form-control', 'text-align' : 'center;'})) -
Restrict view on utils.py - Django
I've used a tempalte to create a calendar using Django, but now i'm stuck to limit the view of the events on this calendar to just the user who have created the event. I have no model for this calendar, just for the events, and the calendar is currently based on my util.py file: utils.py class Calendar(HTMLCalendar): def __init__(self, year=None, month=None): self.year = year self.month = month super(Calendar, self).__init__() # formats a day as a td # filter events by day def formatday(self, day, events): contracts_starting_per_day = events.filter(starting_date__day=day) contracts_ending_per_day = events.filter(ending_date__day=day) contracts_paying_per_day = events.filter(payment_date__day=day) d = '' for contract in contracts_starting_per_day: if contract.company_client: client = contract.company_client elif contract.person_client: client = contract.person_client else: client = '-' d += f"<a href='http://127.0.0.1:8000/contracts/editct/{contract.id}'> <li class='calendar-li starting' title='{contract.contract_name}'> {contract.contract_name} <p class='calendar-p'> {client} </p> </li> </a>" if day != 0: return f"<td class='calendar-td'><span class='date'>{day}</span><ul class='calendar-ul'> {d} </ul></td>" return "<td class='calendar-td'></td>" # formats a week as a tr def formatweek(self, theweek, events): week = '' for d, weekday in theweek: week += self.formatday(d, events) return f"<tr class='calendar-tr'> {week} </tr>" # formats a month as a table # filter events by year and month def formatmonth(self, withyear=True): contracts = Contract.objects.filter(starting_date__year=self.year, starting_date__month=self.month) cal = f'<table border="0" cellpadding="0" cellspacing="0" class="calendar">\n' … -
Form data is passing in html table
I am submitting the form data by using fetch API and then I want to show some variable values in HTML table. But it's not working as it's supposed to be. I am able to fetch the form data in views.py but I am not able to send it back to the HTML file to show the same data on a table. Without the fetch API submit, everything is working fine as per my need. I can't get what my mistake is. I have tried to remove all unnecessary parts to debug. Please let me know where I am going wrong. views.py def home(request): context={} if request.method=="POST": options_value=request.POST['dropdown_val'] value=request.POST['val'] print(options_value,value) context={"options_value":options_value, "value":value} return render(request, 'index.html',context) index.html <form method="POST" action="" id="form"> {% csrf_token %} <select class="form-select" aria-label="Default select example" name="options_value" id="dropdown_val" > <option disabled hidden selected>---Select---</option> <option value="1">Profile UID</option> <option value="2">Employee ID</option> <option value="3">Email ID</option> <option value="4">LAN ID</option> </select> <input type="text" class="form-control" type="text" placeholder="Enter Value" name="value" id="value" /> <input class="btn btn-primary" type="submit" value="Submit" style="background-color: #3a0ca3" /> </form> <table style="display: table" id="table"> <tbody> <tr> <th scope="row">ProfileUID :</th> <td>{{options_value}}</td> </tr> <tr> <th scope="row">First Nane :</th> <td>{{value}}</td> </tr> </tbody> </table> <script> let form = document.getElementById("form"); let dropdown_val = document.getElementById("dropdown_val"); let val = document.getElementById("value"); const … -
How to retrieve data based on specific field in Django Rest Framework using RetrieveAPIView?
With the code below, I am able to retrieve data based on id, how can I update this code so I can retrieve data based on fileName instead? My urls is urlpatterns = [ path("items/<pk>", SingleUploadItem.as_view()), ] My views is: class SingleUploadItem(RetrieveAPIView): queryset = fileUpload.objects.all() serializer_class = fileUploadSerializer My model is class fileUpload(models.Model): fileName = models.CharField(max_length=200, unique=True, blank=True) -
Django comments deletion
I am having challenges in getting user comment deletion functionality for my django blog. The logic is as follows: user who made a comment under blog post and is logged in will see Delete button next to their comment once the user click on delete comment button they are taken to Comment_confirm_delete page to confirm deletion Below is what I have: Models.py from django.db import models from django.contrib.auth.models import User from cloudinary.models import CloudinaryField STATUS = ((0, "Draft"), (1, "Published")) class Post(models.Model): title = models.CharField(max_length=200, unique=True) slug = models.SlugField(max_length=200, unique=True) author = models.ForeignKey(User, on_delete=models.CASCADE, related_name="blog_posts") updated_on = models.DateTimeField(auto_now=True) content = models.TextField() featured_image = CloudinaryField('image', default='placeholder') excerpt = models.TextField(blank=True) created_on = models.DateTimeField(auto_now_add=True) status = models.IntegerField(choices=STATUS, default=0) likes = models.ManyToManyField(User, related_name='blog_likes', blank=True) class Meta: ordering = ['-created_on'] def __str__(self): return self.title def number_of_likes(self): return self.likes.count() class Comment(models.Model): post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='comments') name = models.CharField(max_length=80) body = models.TextField() created_on = models.DateTimeField(auto_now_add=True) approved = models.BooleanField(default=False) class Meta: ordering = ['-created_on'] def __str__(self): return f"Comment {self.body} by {self.name}" def get_absolute_url(self): return reverse('post-detail', kwargs={'comment': id}) urls.py from . import views from .views import CommentDeleteView from django.urls import path urlpatterns = [ path("", views.PostList.as_view(), name="home"), path('<slug:slug>/', views.PostDetail.as_view(), name='post_detail'), path('like/<slug:slug>', views.PostLike.as_view(), name='post_like'), path('delete/<comment_id>', views.CommentDeleteView.as_view(), name='comment_confirm_delete') ] views.py … -
Change boolean data when adding new registration
in this code i want change a boolean data of room when adding new registration For example: when i add new registration in django admin the boolean data of room change to False please can u help in it from django.db import models from django.contrib.auth.models import User class Rooms(models.Model): room_num = models.IntegerField() room_bool = models.BooleanField(default=True) category = models.CharField(max_length=150) def __str__(self): return f'{self.room_num}' class Meta: verbose_name = 'Room' class Registration(models.Model): rooms = models.ForeignKey(Rooms, on_delete=models.CASCADE) first_name = models.CharField(max_length=150) last_name = models.CharField(max_length=150) admin = models.ForeignKey(User, on_delete=models.CASCADE) pasport_serial_num = models.CharField(max_length=100) birth_date = models.DateField() img = models.FileField() visit_date = models.DateTimeField() leave_date = models.DateTimeField() guest_count = models.IntegerField() def func(self): room = Rooms.objects.filter(room_bool=True) for i in room: if i.room_num == int(self.rooms): i.room_bool = False #this should change when adding new registration i.save()