Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Why do I get the "cannot serialize error" when I try to migrate my model?
Well I'm very new to django, so I got lost easily. I'm trying to build my model, using my sql model as reference (I suppose that's the way people do). I solved most errors, but the last one is killing me and I don't find help on the net. This is my code : from django.core.validators import RegexValidator from django.utils import timezone # Create your models here. class PhoneModel(models.Model): phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone number must be: '+999999999'. Max 15 digits.") phone_number = models.CharField(validators=[phone_regex], max_length=17, blank=True) # validators should be a list class Room(models.Model): number = models.IntegerField(primary_key=True, unique=True) duration = models.IntegerField(default="3") max_score = models.IntegerField(default="100") name = models.CharField(max_length=30) status = models.CharField(max_length=15, default="inactive") class Credit(models.Model): value = models.CharField(max_length=3) class Language(models.Model): name = models.CharField(max_length=20, default="chinese") class Token(models.Model): token_id = models.IntegerField(primary_key=True, unique=True) class Level(models.Model): value = models.IntegerField(default="1") class Event(models.Model): name = models.CharField(max_length=80) phone_number = models.ForeignKey(PhoneModel, blank=True, null=True,on_delete=models.SET_NULL) date = models.DateTimeField('date of event') members = models.IntegerField() credit = models.ForeignKey(Credit, on_delete=models.DO_NOTHING) language = models.ForeignKey(Language, on_delete=models.SET_DEFAULT, default="chinese") level = models.ForeignKey(Level, on_delete=models.SET_DEFAULT, default="1") class Team(models.Model): name = models.CharField(max_length=80) token_id = models.ForeignKey(Token, blank=True, null=True,on_delete=models.SET_NULL) event_id = models.ForeignKey(Event, on_delete=models.CASCADE) language = models.ForeignKey(Language, on_delete=models.SET_DEFAULT, default=Event.language) level = models.ForeignKey(Level, on_delete=models.SET_DEFAULT, default=Event.level) players_number = models.IntegerField(default="3") end_time = models.DateTimeField() activation_status = models.BooleanField(default=True) active_room = models.ForeignKey(Room, … -
eCommerce website- Updating Cart Items in Django
UnboundLocalError at /cart/ - error message from website carts/views.py", line 24, in update_cart if not product in cart.products.all(): UnboundLocalError: local variable 'product' referenced before assignment this is the error message I receive when I click the 'add to cart' button on my website. - error message in terminal views.py - here is my views for the cart. From my understanding the issue seems to be in this file. from django.shortcuts import render, HttpResponseRedirect from django.urls import reverse # Create your views here . from fuisce.models import Product from .models import Cart def view(request): cart = Cart.objects.all()[0] context = {"cart": cart} template = "cart/view.html" return render(request, template, context) def update_cart(request, product_id): cart = Cart.objects.all()[0] try: product = Product.objects.get(product_id=product_id) except Product.DoesNotExist: pass except: pass if not product in cart.products.all(): cart.products.add(product) else: cart.products.remove(product) return HttpResponseRedirect(reverse('cart')) ***urls.py*** from django.urls import path from . import views from carts import views as cart_views urlpatterns = [ path('cart/', cart_views.view, name='cart'), path('cart/<product_id>', cart_views.update_cart, name='update_cart'), ] ***models.py - cart *** from django.db import models # Create your models here. from fuisce.models import Product class Cart(models.Model): products = models.ManyToManyField(Product) total = models.DecimalField(max_digits=10, decimal_places=2, default=0.00) timestamp = models.DateTimeField(auto_now_add=True, auto_now=False) updated = models.DateTimeField(auto_now_add=False, auto_now=True) active = models.BooleanField(default=True) def __string__(self): return "Cart id: … -
Uploaded file in Django Rest Framework and processing the request for zip
I'm having difficulty knowing how to process the HTTP request from an uploaded file within the Django Rest Framework. The create endpoint in my views.py: def create(self, request): file_iobytes = request.FILES["file"].file self.zipping(file_iobytes) serializer = FileSerializer(data=request.data) # converts to JSON if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) def zipping(self, file): # Create a buffer to write the zipfile into zip_buffer = io.BytesIO() # Create the zipfile, giving the buffer as the target with zipfile.ZipFile(zip_buffer, 'w') as zip_file: #file.seek(0) zip_file.write(file) file.close() My intention is: upload file via DRF create hash from file eg sha1 (which I don't know how to directly because the hashing requires a path, and I don't know how to retrieve this from the http request). zip the file and store it How can I use the request to create a zip file (is this the right approach)? -
How to remove Important dates section from Django User view?
I want to remove Important dates section from django Admin User view. Tried this: class UserAdmin(admin.ModelAdmin): exclude = ('last_login', 'date_joined',) admin.site.unregister(User) admin.site.register(User, UserAdmin) But it's saying: "Key 'last_login' not found in 'UserForm'. Choices are: email, first_name, groups, is_active, is_staff, is_superuser, last_name, password, user_permissions, username." How to remove this section from default User view django admin. Thanks -
Is it possible to write a mobile app using python as back-end and react as a front-end
I'm pretty much new to the developer business and I'll say I'm at a beginner level in javascript (I can do DOM manipulation) and intermediate level in python. I was wondering could I write an app for code I wrote in python as it's back-end and use react as a front-end, the question might be silly seeing as I'm new to developing and there might be some technicalities I'm overlooking, but any how I'd appreciate your help and advice. -
Django QuertySet.annotate() received non-expression
First time with Django. Trying to add an annotation to queryset: class EnrollmentManager(models.Manager.from_queryset(EnrollmentCustomQuerySet)): COURSE_DURATION = datetime.timedelta(days=183) def get_queryset(self): """Overrides the models.Manager method""" lookback = make_aware(datetime.datetime.today() - self.COURSE_DURATION) qs = super(EnrollmentManager, self).get_queryset().annotate(is_expired=(Value(True)), output_field=models.BooleanField()) return qs At the moment I am just trying to add an extra 'calculated' field on the returned queryset, which is hard-coded to True and the attribute/field should be called is_expired. If I can get that to work, then Value(True) needs to be a derived value based on this expression: F('enrolled') < lookback I guess the problem is not understanding how annotate works... -
Custom Logo Django JET2
I can't add my logo, what am I doing wrong? CODE {# Template: your_app/templates/admin/base_site.html #} {% extends "admin/base_site.html" %} {% load static i18n %} {# Setup favicon #} {% block extrahead %}<link rel="shortcut icon" type="image/png" href="{% static 'projetoOuvidoria/imagens/unisc.png'%}"/>{% endblock %} {# Setup browser tab label #} {% block title %}{{ title }} | {% trans "Your title" %}{% endblock %} {# Setup branding #} {% block branding %} <h1 id="site-name"> <a href="{% url 'admin:index' %}"> {# Your logo here #} <img style="background-color: white" src="{% static 'projetoOuvidoria/imagens/unisc.png'%}" alt="Your Company Name" height="50%" width="50%"> <br><br> </span> {% trans "Your Branding" %} </a> </h1> {% endblock %} Image of my project, its architecture enter image description here -
How can I use 'json_script' template tag within Django 1.1.2 so that I can utilise SPA VueJs/ReactJs
I am wanting to bring VueJs/ReactJs into a current project that mainly uses Python templates. We are using Django 1.1.2 that does not have the wonderful template tag that converts a Python object to JSON. Once I have the JSON object, I can then use the data within the VueJS framework. Is there an alternative tag within Django 1.1.2 that would allow me to convert a Python object to JSON? I am unable to update Django at this point in time. -
How to order_by a many to many field in template?
When I try to render a manytomany object in the template. My models.py is: class Class(models.Model): id = models.CharField(max_length=8, primary_key=True) name = models.CharField(max_length=255) members = models.ManyToManyField(User, related_name='member') texts = models.ManyToManyField(Messages) class Messages(models.Model): user = models.ForeignKey(User, on_delete=models.DO_NOTHING) id = models.CharField(max_length=8, primary_key=True) messages = models.TextField(blank=False, null=False) time = models.DateTimeField(auto_now_add=True) I've rendered this in my template: {% for text in class.texts.all %} <div class="card col-md-4 w-75 l-balloon mb-2"> {{text.messages|linebreaks}} <span class="font-small d-block ml-auto mr-3">{{text.time}}</span> </div> {% endfor %} And this is what I used in my views.py: context = { "class": Class.objects.get(id=pk) } Here I am just passing a single object of the class where I want to render the texts of the related class. While rendering {{text.messages|linebreaks}} it is ordered by the values of messages attribute of Message class. I want this to be ordered by time attribute. How can I acheive? -
Assign foreign key in DRF POST request
How I can directly add user which already login, when I create company? Models: class Company(models.Model): name = models.CharField(max_length=255) class User(AbstractBaseUser): company = models.ForeignKey(Company, on_delete=models.CASCADE, blank=True, null=True View: class CompanySetupView(ModelViewSet): queryset = Company.objects.all() permission_classes = [IsAuthenticated] serializer_class = CompanySetupSerializer Serializer: class CompanySetupSerializer(serializers.ModelSerializer): class Meta: model = Company fields = '__all__' -
User authentication failing while user login in django
I am trying to create a simple login page using python and django. My registration/signup is working fine and I am able to register the user. once the user is registered, while logging in the user using username and password the user is not authenticated. I am not able to find out the exact error, can anyone please guide me through this. This is my views.py file from django.shortcuts import render from django.views.generic import TemplateView, DetailView, ListView from django.contrib.auth import login,logout,authenticate from django.contrib.auth.decorators import login_required from django.urls import reverse from django.http import HttpResponse,HttpResponseRedirect from custom_login_app.forms import CustomUserInfoForm from custom_login_app import models # Create your views here. # about template view class AboutView(TemplateView): template_name = 'about.html' # user profile detail page class ProfileDetailView(DetailView): context_object_name = 'user_detail' model = models.CustomUserInfo template_name = 'userinfo_detail.html' # home page view def index(request): return render(request,'index.html') # logout view @login_required def customlogout(request): logout(request) return HttpResponseRedirect(reverse('index')) # registration view def registration(request): # bool variable to chcek the user is registered registered = False # check the user has poste the data through the form if request.method == 'POST': # create a form object user_form = CustomUserInfoForm(data=request.POST) # check if the form is valid if user_form.is_valid(): # save the … -
Unable to login after PUT operation Django REST Framework
I'm having the following problem: the login request returns "Unable to login with provided credentials" after I do a PUT request (changing fields like first_name, last_name, address) even though the username and password are correct in the DB. The following view I use to make my Login Request. class RetrieveAuthToken(ObtainAuthToken): def post(self, request, *args, **kwargs): serializer = self.serializer_class(data=request.data, context={'request': request}) serializer.is_valid(raise_exception=True) user = serializer.validated_data['user'] token, created = Token.objects.get_or_create(user=user) resp = Response({ 'token': token.key, 'user_id': user.pk, 'email': user.email, 'role': user.role, }) return resp And these are for my users and registration of a user: from users.models import User from users.serializers import UserSerializer, RegistrationSerializer from rest_framework import viewsets, generics from rest_framework.authtoken.views import ObtainAuthToken from rest_framework.authtoken.models import Token from rest_framework.response import Response # Create your views here. class UserViewSet(viewsets.ModelViewSet): serializer_class = UserSerializer queryset = User.objects.all() class RegistrationView(generics.CreateAPIView): model = User serializer_class = RegistrationSerializer My serializers look like this: from rest_framework import serializers, status from users.models import User class UserSerializer(serializers.ModelSerializer): password = serializers.CharField(style={'input_type': 'password'}) class Meta: model = User fields = '__all__' extra_kwargs = {'password': {'write_only': True}} def create(self, validated_data): user = super(UserSerializer, self).create(validated_data) user.set_password(validated_data['password']) user.save() return user def update(self, instance, validated_data): instance = super(UserSerializer, self).update(instance, validated_data) instance.set_password(validated_data['password']) instance.save() return instance class RegistrationSerializer(serializers.ModelSerializer): password … -
Django - Profile doesn't change
I want my users to be able to change their information, when I click "Enregistrer" (Save), I'm redirected but there's no success message and my informations don't change. I think I've setup everything correctly and I looked at similar questions but it still doesn't work. models.py : from django.db import models from django.contrib.auth.models import User class Profil(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) image = models.ImageField(default='defaut.png', upload_to='image_profil') def __str__(self): return f'{self.user.username} Profil' forms.py : from django import forms from django.contrib.auth.models import User from django.contrib.auth.forms import UserCreationForm from .models import Profil class FormulaireModifUtilisateur(forms.ModelForm): username = forms.CharField( label = 'Nom de compte', min_length = 4, max_length = 150, initial=User.username, ) email = forms.EmailField( label = 'Email', min_length = 4, max_length = 150, ) class Meta: model = User fields = ['username', 'email'] class FormulaireModifProfil(forms.ModelForm): class Meta: model = Profil fields = ['image'] profils.html : {% extends 'home/index.html' %} {% block title %} Profil {% endblock %} {% block content %} <div id='profil'> <img src='{{ user.profil.image.url }}'> <form> {% csrf_token %} {% for field in u_form %} <p> {{ field.label_tag }}<br> {{ field }<br> </p> {% endfor %} {% for field in p_form %} <p> {{ field.label_tag }}<br> {{ field }}<br> </p> {% endfor %} … -
DjangoChannels consumers
I am very interested in the idea to write a chat application. I've recently come across great tutorial at https://channels.readthedocs.io/en/latest/index.html using DjangoChannels All understood, wrote my own one (suppose the same as there), everything is working. However, I ran into a problem: when updating the chat page, the server throws this exception (and after that I can't send messages, so that's quite harmful): Exception in callback AsyncioSelectorReactor.callLater..run() at /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/twisted/internet/asyncioreactor.py:287 handle: .run() at /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/twisted/internet/asyncioreactor.py:287> Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/events.py", line 81, in _run self._context.run(self._callback, *self._args) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/twisted/internet/asyncioreactor.py", line 290, in run f(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/daphne/server.py", line 229, in application_checker exception = application_instance.exception() asyncio.exceptions.CancelledError (I am using WebsocketConsumer, python 3.8.2) Actually, I suppose there is a problem with the disconnection with the server when updating the page. I tried to solve it myself but unfortunately didn't succeed :( Could anybody please help me? -
Django Transaction Error: 'You can't execute queries until the end of the 'atomic' block.'
I'm trying to upload a list to my Database. I get this error when I try to migrate. Django Transaction Error: 'You can't execute queries until the end of the 'atomic' block.' From what I have read I have to do something with transaction.atomic(). But it's not clear to me where/what I need to do with that function. Can someone explain where the problem is occurring? restaurants = [ ["Cecilware HWD3 Black 3 Gallon Hot Water Dispenser - 120V", 581.62, 737.78], ["Avamix BXSSJAR 1 Gallon Stainless Steel Blender Jar", 149.99, 206.40], ["Brother HL-L8360CDW Business Color Laser Printer", 328.94, 405.25], ] def change(apps, schema_editor): New_Products= apps.get_model("Home_Page", "New_Products") for restaurant in restaurants: name = restaurant[0] old_price = restaurant[1] new_price = restaurant[2] New_Products.objects.create( Product_Name=name, Old_Price=old_price, New_Price=new_price, ) class Migration(migrations.Migration): dependencies = [ ('Home_Page', '0001_initial'), ] operations = [ migrations.RunPython( change ), ] ``` -
How to use session variable with/inside Django Channels
I'm trying to create simple multiplayer webbrowser card game. I've implemented example chat from docs tutorial. Next thing I'm trying to hack is to allow users to also provide their nickname via html form because I don't want users to register before playing. So I just want to save it in django session to show it inside game. But when I'm trying to access session variable inside Consumer I having an error. Maybe I'm doing it completely wrong, please help me on how to get visitors provide their nicknames during room connection so that they don't need to register. what I have for now: project/routing.py from channels.sessions import **SessionMiddlewareStack** from channels.routing import ProtocolTypeRouter, URLRouter import game.routing application = ProtocolTypeRouter({ # (http->django views is added by default) 'websocket': SessionMiddlewareStack( URLRouter( game.routing.websocket_urlpatterns ) ), }) app/consumers.py class ChatConsumer(WebsocketConsumer): def connect(self): self.room_name = self.scope['url_route']['kwargs']['room_name'] self.room_group_name = 'chat_%s' % self.room_name # Join room group async_to_sync(self.channel_layer.group_add)( self.room_group_name, self.channel_name ) # get value from django session bang_player_name = self.scope['session']['player'] # here I got an error while accessing saved username print(f'***{bang_player_name} joined the game***') self.accept() .... index.html where users provide their name and room name .... <form action="post" url="/join_game/"> What chat room would you like to enter?<br> … -
Django record selected image
I currently have a 3 x 3 grid of images, displaying a total of 9 images. The sourced images from 3 different folders(representing 3 different categories). Code for this is in the file random_image.py template to display the images is in pickfeel.html The interface looks like this: I want the user to click on an image and press the 'Next' button. When the 'Next' button is pressed it will record the following data: username Category of selected image What should I do implement this? P.S: I'm inexperienced with Django and any help would be greatly appreciated -
Add additional fields data in response to post method in Django
I need to show additional field data for the POST response. This additional field data is not inserting or updating into the database, just want to get in response. this additional data is getting from another model. I need to customize the response JSON representation model class Country(BaseModel): name= models.CharField(null=True) state= models.FloatField(null=True) class Meta: db_table = 'country' class Tour(BaseModel): name = models.ForeignKey(Country, on_delete=models.PROTECT) country= models.FloatField(null=True) class Meta: db_table = 'tour' class TourInter(BaseModel): tour = models.ForeignKey(Tour, on_delete=models.PROTECT) price= models.FloatField(null=True) details= models.TextField(null=True, blank=True) class Meta: db_table = 'tourinternational' Serializer.py class TourInterCreateSerializer(serializers.ModelSerializer): country = serializers.CharField(required=False,read_only=True) class Meta: model=TourInter fields = ('id','tour','price','country') def validate(self, attrs): tour_id=attrs.get('tour').id tourintid = TourInter.objects.filter(tour=tour_id)[0].id countryobj = Tour.objects.get(id=tourid).country country = countryobj.state attrs.pop({'country': country}) attrs = super().validate(attrs) return attrs views.py class TourInterViewSet(viewsets.ModelViewSet): queryset = TourInter.objects.all() def get_serializer_class(self): if self.action == 'create' or self.action == 'update': return TourInterCreateSerializer return TourInterSerializer def dispatch(self,request,*args,**kwargs): response = super(TourInterViewSet, self).dispatch(request, *args, **kwargs) data = {} data= response.data response.data = data return response postman data request: { tour_id: 1, price: 10000 details: "Could be nil" } I need a postman response like a below-having country name for post response, here country is not inserting into the database: { tour_id: 1, price: 10000 details: "Could be nil", country: … -
how to improve exception handling in python/django
This is an example of my exception handling in a django project: def boxinfo(request, url: str): box = get_box(url) try: box.connect() except requests.exceptions.ConnectionError as e: context = {'error_message': 'Could not connect to your box because the host is unknown.'} return render(request, 'box/error.html', context) except requests.exceptions.RequestException as e: context = {'error_message': 'Could not connect to your box because of an unknown error.'} return render(request, 'box/error.html', context) There is only two excepts now, but it should be more for the several request exceptions. But already the view method is bloated up by this. Is there a way to forward the except handling to a separate error method? There is also the problem, that I need here to call the render message for each except, I would like to avoid that. And here I also repeat for each except "could not connect to your box because", that should be set once when there appeared any exception. -
Django Quering ManytoMany field
Good Day, I am creating a simple django project which deals with storage of name of Books and authors and storing list of to be read (TBR). The TBR table is connected to books table as many to many. Now, I am confused in how to query the list of books that are in a specific TBR. The code that I wrote is the following: class BookManager(models.Manager): def is_read(self): return self.filter(read='y') def is_not_read(self): return self.filter(read='n') class Genre(models.Model): name = models.CharField(max_length=200, help_text='Enter a book genre (e.g. Science Fiction)') def __str__(self): return self.name class Author(models.Model): first_name = models.CharField(max_length=100, help_text="Enter first name of the author",default="Unknown") last_name = models.CharField(max_length=100, help_text="Enter last name of the author",default="Unknown") def __str__(self): return f'{self.first_name} {self.last_name}' class Book(models.Model): YES = 'y' NO = 'n' DID_READ_CHOICES = [ (YES,'Yes'), (NO,'No'), ] title = models.CharField(max_length=100) author = models.ForeignKey( Author, on_delete=models.SET_NULL, null=True, related_name='author_books' ) genre = models.ManyToManyField(Genre, help_text='Select a genre for this book') summary = models.TextField(max_length=1000, help_text='Enter a brief description of the book',blank=True,null=True) read = models.CharField( max_length=1, choices=DID_READ_CHOICES, default=NO, ) objects = BookManager() class Meta: ordering = ['title'] def __str__(self): return self.title class TBR(models.Model): title = models.CharField(max_length=100) book = models.ManyToManyField( Book, related_name='in_tbr', ) class Meta: ordering = ['title'] def __str__(self): return self.title I … -
Django dynamic Url problem- invalid literal for int() with base 10:
I'm trying to make a dynamic url that adds the name of the current user to the path when he tries to go to his personal posts page. In the personalposts page I filtered all the posts and showed a list of the posts of the current user only. I just want to add his name to the url also. thats it. I tried a lot of things and failed. I have a feeling that the problem is that the author refers to the Django's built-in User model. My code: url: path('<username>/', views.personalposts, name='personalposts'), The view: Before the view was: def personalposts(request, username): items = Post.objects.filter(author=request.user) return render(request, 'TheApp/personalposts.html', {'items':items}) I still want to display the personal posts like this. It works but with out the dynamic url. Now I changed it to: def personalposts(request, username): items = Post.objects.get(author=username) return render(request, 'TheApp/personalposts.html', {'items':items}) The model: class Post(models.Model): author = models.ForeignKey(User, on_delete=models.PROTECT) #כדי שרק משתמשים רשומים יוכלו ליצור פוסט title = models.CharField(max_length=200) text = models.TextField() create_date = models.DateTimeField(default=timezone.now) post_views = models.IntegerField(default=0) -
wrong output. remove element from list1 if exist in list2
The code is to remove elements present in another list. Wrong Output Code is written here: s=['a@gmail.com','b@gmail.com',] for e in l: if e in s: l.remove(e) print(l)``` Showing wrong output **output should be =['c@gmail.com','d@gmail.com']** **but output coming is ['b@gmail.com','c@gmail.com','d@gmail.com']** -
could not parse the remainder: '[0].title' from 'i[0].title'
I am trying to render the data from the database one by one by it does not work. index.html {% for i in edus %} <div class="panel panel-default"> <div class="panel-heading" role="tab" id="headingOne"> <h4 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">{{i[0].title}} </a> </h4> </div> <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne"> <div class="panel-body"> <div class="row"> <div class="col-md-12"> <p>{{i[0].descripiton}} </p> </div> </div> </div> </div> </div> {% endfor %} -
Limit Django UpdateView to author
I've got a UpdateView in Django that I need to restrict to only the author. I having trouble grabbing the Author off of the request. class MyPermissionMixin(LoginRequiredMixin, UserPassesTestMixin): def dispatch(self, request, *args, **kwargs): user_test_result = self.get_test_func()() if request.user != ????.user: #How do I grab the user('Author')?? return self.handle_no_permission() return super().dispatch(request, *args, **kwargs) -
How to solve when Django views.py is not passing the dictionary value to html?
I have a dictionary value in views.py and rendering it to front end. When I loop through the dictionary in html, only one value is showing while other values are not. What could be the issue for this? views.py def Student_Create(request): form = Student_Model_Form(request.POST or None) # get class names and days classes = Create_Class.objects.all() cls = {} for i in classes: cls[i] = { 'class_name': i.class_name, 'from_day': str(i.from_days), 'to_day': str(i.to_days), 'from_time': i.from_time.strftime("%H:%M:%S"), 'to_time': i.to_time.strftime("%H:%M:%S"), } print(cls) template_name = 'genius/students_create.html' context = {'form': form, 'classes': cls} return render(request, template_name, context) student.html <div class="form-group"> <label for="select-class">Select Class</label> <select class="custom-select" multiple name="select-class"> {% for i in classes%} <option value="{{i.class_name}}">{{i.class_name}} : {{i.from_day}}-{{i.to_day}}</option> {% endfor %} </select> </div> And the final output is like this. See The Output Your help would be appreciated.