Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
'user_model' referenced before assignment
I'm getting ---> UnboundLocalError at /signup local variable 'user_model' referenced before assignment The Error is occurring at* user_model = User.objects.get(username=username, id=user_model.id) *** In the Models.py File*** User gets created with pass and email in database, just not the profile models.py from django.db import models from django.contrib.auth import get_user_model # Create your models here. User = get_user_model() class Profile(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) id_user = models.IntegerField() bio = models.TextField(blank=True) profileImage = models.ImageField(upload_to='profile_images', default='blank-profile-picture.png') location = models.CharField(max_length=100, blank=True) def __str__(self): return self.user.username views.py from django.shortcuts import render, redirect from django.contrib.auth.models import User, auth from django.contrib import messages from django.http import HttpResponse from .models import Profile def index(request): return render(request, 'index.html') def signUp(request): if request.method =='POST': username = request.POST['username'] email = request.POST['email'] password1 = request.POST['password1'] password2 = request.POST['password2'] if password1 == password2: if User.objects.filter(email=email).exists(): messages.info(request, 'Email Already In Use!') return redirect('signup') elif User.objects.filter(username=username).exists(): messages.info(request, 'Username is Taken') return redirect('signup') else: user = User.objects.create_user(username=username, email=email, password=password1) user.save() user_model = User.objects.get(username=username, id=user_model.id) new_profile = Profile.objects.create(user=user_model, id_user=user.model.id) new_profile.save() return redirect('index') else: messages.info(request, 'Password Mismatch1') return redirect('signup') else: return render(request, 'signup.html') In the past I've just created my own user models rather than using the Django one. If you could include any ref documents in your reply … -
request.POST doesn't detect the name of input field
I would like to know which form was submitted in django, and I did this by using the name of the input field and detect it if it's also the name in request.POST. However, this doesn't seem to work. HTML <input type="file" name="coverPhoto" accept="image/*" id="id_coverPhoto"> <input type="file" name="profilePic" accept="image/*" id="id_profilePic"> views.py if request.method == 'POST': if 'profilePic' in request.POST: profile_photo_form = ProfileForm(request.POST, request.FILES, instance=user) if profile_photo_form.is_valid(): profile = profile_photo_form.save(commit=False) profile.save() return HttpResponseRedirect(reverse("my-profile")) if 'coverPhoto' in request.POST: cover_photo_form = CoverPhotoForm(request.POST, request.FILES, instance=user) if cover_photo_form.is_valid(): cover = cover_photo_form.save(commit=False) cover.save() return HttpResponseRedirect(reverse("my-profile")) -
How do I display specifically user home in django?
I want to implement to see specifically user home by other users. I did this method by def function. Is there a way to do it with a class function? How does urls.py set? views.py def Userrequest(request,user_id): user = CustomUser.objects.filter(id= user_id) return render(request, 'account/userpage.html', {'user': user}) urls.py path('<int:user_id>/', Userrequest, name= 'Userrequest'), -
django.contrib.sessions legacy? What should I use instead?
I'm following a tutorial to build a full-stack app using Django and Next.js. In the process of identifying users, the tutorial uses sessions. I have a basic understanding of sessions, so I decided to go along and learn about them. I eventually ran into a problem where one of my states wasn't updating with the response from the backend. I noticed that when sending a request to the backend, the session_key printed None. This is the code in views.py: class CreateRoomView(APIView): serializer_class = CreateRoomSerializer def post(self, request, format=None): print(self.request.session.session_key) if not self.request.session.exists(self.request.session.session_key): self.request.session.create() print(self.request.session.session_key) I scoured the web to find a solution. In the process, I learned a ton, and I kept reading information about the django.contrib.sessions app was legacy and would be a problem with new chrome versions. What should I make of this and what alternatives are there to sessions? I want to keep following the tutorial, but I'd like to apply the current best practices. What should I use instead of sessions? Thanks -
Django Rest Framework error: {'user': [ErrorDetail(string='This field is required.', code='required')]}
Unable to add a new customer to the database.. I made a class Named customer that has a one-to-one relationship with a class named User that is an AbstractUser I want to send the data through rest API so that I can create a new customer in the customer table and a new user that is One To One Related to the customer from the same view. User Model class User(AbstractUser): # Add additional fields here id = None email = models.EmailField(max_length=254, primary_key=True) name = models.CharField(max_length=100) password = models.CharField(max_length=100) is_patient = models.BooleanField(default=False) is_doctor = models.BooleanField(default=False) is_homesampler = models.BooleanField(default=False) is_pathologist = models.BooleanField(default=False) is_admin = models.BooleanField(default=False) is_staff = models.BooleanField(default=False) is_active = models.BooleanField(default=False) date_joined = models.DateTimeField(auto_now_add=True) last_login = models.DateTimeField(auto_now=True) first_name = None last_name = None username = None USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['name', 'password'] objects = CustomUserManager() def __str__(self): return self.email # Ensure that the password is hashed before saving it to the database def save(self, *args, **kwargs): self.password = make_password(self.password) super(User, self).save(*args, **kwargs) def has_perm(self, perm, obj=None): return self.is_superuser User Serializer class UserSerializer(serializers.ModelSerializer): class Meta: model = get_user_model() # fields = (['id', 'username', 'email', 'name']) fields = '__all__' customer Model class customer(models.Model): user = models.OneToOneField( get_user_model(), on_delete=models.CASCADE, primary_key=True) real = models.BooleanField(default=False) … -
Create Multiple Instances From One Model Django
I'm trying to understand how to create multiple instances on creation of a model in django. Eventually I want to create more than one but I'm just trying to get the signal to work at the moment. This is what I have so far that isn't working. I want it to create a duplicate of this model. from datetime import datetime, timedelta import django from django.conf import settings from django.db import models from django.db.models.signals import post_save from django.dispatch import receiver class BudgetTransaction(models.Model): """ Individual transaction for Budget """ transaction_types = [ ('FI', 'Fixed Income'), ('FE', 'Fixed Expenses'), ('EC', 'Extra Cashflow'), ] frequencies = [ ('one', 'one off'), ('wk', 'weekly'), ('fort', 'fortnightly'), ('mon', 'monthly'), ('yr', 'yearly'), ('day', 'specific day'), ] today = datetime.today().strftime('%Y-%m-%d') owner = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE, help_text="Owner of the item" ) transaction_type = models.CharField(max_length=40, choices=transaction_types, default=1) transaction_name = models.CharField(max_length=100, null=False) transaction_amount = models.IntegerField(null=False) next_date = models.DateField(null=False, default=today) frequency = models.CharField(max_length=20, choices=frequencies, default=1) complete = models.BooleanField(default=False) def __str__(self): return self.transaction_name class Meta: ordering = ['next_date'] @receiver(post_save, sender=BudgetTransaction) def create_forecasted(sender, instance, created, **kwargs): if created: today = datetime.today() this_month = today.month months_left = 12 - this_month if sender.frequency == "mon": BudgetTransaction.objects.create(owner=instance.owner) Thanks, Mitchell -
Find if a model object is assigned the last instance of another model
Working on fee management case in Django. Code is given below: class Student(models.Model): name = models.CharField("name",max_length=200) cell_no = models.CharField("cell No",max_length=200) address = models.CharField("address",max_length=500) class Meta: verbose_name_plural = "Student" def __str__(self): return self.name class FeeType(models.Model): name = models.CharField("fee Type", max_length=200) class Meta: verbose_name_plural = "Fee Type" def __str__(self): return self.name class CollectFee(models.Model): student = models.ForeignKey(Student, on_delete=models.CASCADE) feetype = models.ForeignKey(FeeType, on_delete=models.CASCADE) amountdue = models.PositiveIntegerField("amount Due") amountpaid = models.PositiveIntegerField("amount Paid") balance = models.PositiveIntegerField("Balance") class Meta: verbose_name_plural = "Collect Fee" def __str__(self): return self.student.name Fee Type is like Admission Fee, January Fee, February Fee etc. I want to get the list of all students who have not yet been assigned the last instance of the FeeType. For example, if in the CollectFee the student is assigned January, February month fee then Ok, if the student is not assigned March Fee, he should be included in the list. I could get the list of all students through: students= Student.objects.all() I can deal with simple filters but don't know how to apply the filter to solve the above mentioned problem. -
value={{ string }} gives only 1 word of the string
{% for q, con in questions_dict.items %} <form action="{% url 'psycho:modify_question' %}", method="post"> {% csrf_token %} <input type="hidden" name="oldtext" value={{ q }}> <input type="text" placeholder="Text of your question" name="text" value={{ q }} even if q equals "The Count of Monte Cristo" full book, only the first word is displayed on the page. If I do {% for q, con in questions_dict.items %} <form action="{% url 'psycho:modify_question' %}", method="post"> {% csrf_token %} {{ q }} <input type="hidden" name="oldtext" value={{ q }}> <input type="text" placeholder="Text of your question" name="text" value={{ q }} I see the full string. How to fix this? -
How to receive in django backend from client webcam using django channels
I am creating a django api that has an endpoint point that receives live video streams from the client webcam and passes the frames through a machine learning model to make real-time predictions which are sent back to the client side. I am trying to use django-channels. I am fairly new at this webrtc thing. I want to know how to implement the django backend to do exactly this. -
Printing a 2d list in Django template
I have a model with a JSONField class Session(models.Model): title = models.CharField(max_length=50) application_list = JSONField(blank=True, null=True) and i want to bring the values on frontend and use it through django template for some filtering. An example of what this JSONField may contain: [{"type": "questionnaire", "primary_key": "13"}, {"type": "questionnaire", "primary_key": "4"}, {"type": "questionnaire", "primary_key": "8"}]. I managed to get the data in a list with: app_data = Session.objects.values_list('application_list', flat=True) pub_data = [] for app in app_data: for x in app: pub_data.append( [x['type'], x['primary_key']]) print(pub_data) which prints [['questionnaire', '13'], ['questionnaire', '4'], ['questionnaire', '8'], ['seriousgame', '16']]. My question is how do I access each individual 'type' and 'key' in django template. I tried using {% for app in pub_data %} {{app}} {% endfor %} or with app(0) app[0] but none of them work. -
How do I make a ModelChoiceField's values show the actual values on a page instead of numbers?
There is a field (categories) in my form (NewListing) that should has 4 values that can be selected in a form on one of my pages. However, when I want to show which value was selected I get a number instead of the value. The values are: New Refurbished Opened Used So if New was selected earlier, when this value is shown on another page it is shown as 1 instead of New. How do I fix this? models.py: class Listing(models.Model): ... condition = models.CharField(max_length=20) forms.py: condition_choices = ( (1, 'New'), (2, 'Refurbished'), (3, 'Opened'), (4, 'Used'), ) class NewListing(forms.Form): ... condition = forms.ChoiceField(choices=condition_choices, widget=forms.Select(attrs={ 'class': 'condition', })) html: (irrelevant but shows where it would be used - it selected on another page though - this works fine) <div class="condition"> <p> Condition: <strong> {{ listing.condition }} </strong></p> </div> -
Django filter then count objects in queryset that don't match user
I have committees where you cannot vote on yourself. I am trying to have committee_member_count filter out users where the user matches the approval_request's provider. How can I filter out credentialing_committee_members that match the provider? This was my attempt: "credentialing_committee__members", distinct=True, filter=~Q(credentialing_committee__members=self.first().provider.user), ), -
Django | set the default value of a model field to be the email of the logged in user
I'm trying to display user specific content in my django website and I am one step away from completing this task. In models.py I need the contact_email field to have its default value to be the email of the logged in user. I've tried many methods of doing this but nothing has worked yet. models.py class Account(AbstractUser): email = models.EmailField(verbose_name='email', max_length=60, unique=True) name = models.CharField(max_length=45, unique=False) username = models.CharField(max_length=100, default='') date_joined = models.DateTimeField(verbose_name='date joined', auto_now_add=True) last_login = models.DateTimeField(verbose_name='last login', auto_now=True) is_admin = models.BooleanField(default=False) is_active = models.BooleanField(default=True) is_staff = models.BooleanField(default=False) is_superuser = models.BooleanField(default=False) is_employee = models.BooleanField(default=True, verbose_name='Are you using FilmLink as an employee?') USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['name', 'is_employee'] objects = MyAccountManager() class Meta: permissions = [ ("post_jobs", "Can post jobs"), ] def __str__(self): return self.name def has_perm(self, perm, obj=None): return True def has_perms(self, perm): return True def has_module_perms(self, app_label): return True @property def is_staff(self): return self.is_admin class Job(models.Model): company = models.CharField(max_length=40, null=True, verbose_name="Company/Employer") description = models.TextField(null=True) role = models.CharField(max_length=25) area_of_filming = models.CharField(max_length=50, verbose_name="Area Of Filming", default="") contact_email = models.EmailField(verbose_name='Contact Email', max_length=60, default='')#stuck on setting this default created = models.DateTimeField(auto_now_add=True) user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE) def __str__(self): return self.company views.py @login_required(login_url='login') def manage_jobs(request): if request.user.is_employee: return redirect('home') else: form = … -
Django form showing up in template as form variable name
I have created a custom user model in Django and am trying to create a login form. Instead of the form showing up in the Django template, login_form, the name of the variable, shows up. forms.py class ProfileLogin(forms.ModelForm): password = forms.CharField(label="Password", widget=forms.PasswordInput) class Meta: model = Profile fields = ("username", "password") def clean(self): username = self.cleaned_data.get('username', None) password = self.cleaned_data.get('password', None) if not authenticate(username=username, password=password): raise forms.ValidationError("Invalid username and/or password.") return None views.py def login_views(request): context = {} user = request.user if user.is_authenticated: return redirect('index') if request.POST: login_form = ProfileLogin(request.POST) if login_form.is_valid(): username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user: login(request, user) return redirect('index') else: login_form = ProfileLogin() context['login_form'] = ['login_form'] return render(request, "capstone/login.html", context) html <form method="post"> {% csrf_token %} {% for field in login_form %} <h5>{{ field.label_tag }} {{ field }} {% if field.help_text %} <span>{{ field.help_text }}</span> {% endif %} {% for error in field.errors %} <p>{{ error }}</p> {% endfor %} {% if login_form.non_field_errors %} <div>{{ login_form.non_field_errors }}</div> {% endif %} </h5> {% endfor %} <button type="submit">Login</button> </form> I tried changing {% for field in login_form %} <h5>{{ field.label_tag }} {{ field }} to {{ login_form }}, but the same thing happens. … -
Edit Form Submit handler for a Model
I have a fairly simple django model in a Wagtail CMS; essentially: from django.db import models class Thingy(models.Model): name = models.CharField(max_length=255, blank=False, null=False, unique=True) # Many other fields. panels = [ FieldPanel("name"), # ... ] I need to perform an action when this model is saved via the Wagtail model edit form (eg /admin/section/thingy/123/edit). Currently, I have registered a post_save signal, however this has resulted in the method being called when the model is saved programmatically (via an import sync task). I've had a look in the Django docs, but can't see anything obvious... is there a way to register a signal for the form submission (ideally after the internal submission and save is handled). (If it's any relevance; I need to trigger a search reindex based on a relation to the model; anything that references instance 123 of thing Things that was saved needs to be reindexed) -
Set Django Rest Framework endpoint a timeout for a specific view
I'm running Django 4.0.5 + Django Rest Framework + Gunicorn Sometimes, I'm going to need to handle some POST requests with a lot of data to process. The user will wait for a "ok" or "fail" response and a list of ids resulting from the process. Everything works fine so far for mid size body requests (this is subjective), but when I get into big ones, the process will take 1min+. It's in these cases when I get a 500 error response from DRF, but my process in the background will keep running till the end (but user will not know it finished successfully). I was doing some investigation and changed the Gunicorn timeout parameter (to 180), but didn't change the behavior in the service. Is there a way to set a timeout larger than 60s at the @api_view or somewhere else? -
Django join tables with ForeignKey
I'm trying to join 3 tables with ForeignKey but it returns Null values. Here are my models: class schedule(models.Model): login_id = models.CharField(primary_key=True,max_length=20) agent_name = models.CharField(max_length=100, blank=True, null=True) team = models.CharField(max_length=100, blank=True, null=True) class place_no(models.Model): place_id = models.CharField(max_length=50, blank=True, null=True) pc_no = models.CharField(max_length=50, blank=True, null=True) class Insight(models.Model): login_id = models.CharField(primary_key=True,max_length=20) place_id = models.CharField(max_length=50, blank=True, null=True) agent_name = models.ForeignKey(schedule, on_delete=models.CASCADE,blank=True, null=True) pc_no = models.ForeignKey(place_no, on_delete=models.CASCADE,blank=True, null=True) My View: def listings(request): data = Insight.objects.select_related('agent_name', 'pc_no') return render(request, 'pages/listings.html', {'data':data}) -
JSON Parse error: Unrecognized token '<' while requesting/posting data with react-native and django
I just started building a react-native frontend and a Django backend application and I tried making requests from react native to the Django server but I got "JSON Parse error: Unrecognized token '<'" I am assuming that this is caused by an error in the API code but I could not figure it out. here's my code: views.py- from django.shortcuts import render from rest_framework import viewsets, status from .serializers import UserSerializer, ProfileSerializer from .models import Profile from rest_framework.response import Response from rest_framework.decorators import action from django.contrib.auth.models import User from rest_framework.authentication import TokenAuthentication from rest_framework.permissions import IsAuthenticated, AllowAny from rest_framework.permissions import IsAuthenticatedOrReadOnly, BasePermission from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt # Create your views here. class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer class ProfileViewSet(viewsets.ModelViewSet): queryset = Profile.objects.all() serializer_class = ProfileSerializer @csrf_exempt def login(request): if request.method == 'POST': valid = False if 'username' in request.data: username = request.data['username'] password = request.data['password'] user = authenticate(username=username, password=password) if user is not None: valid = True else: valid = False elif request.method == 'GET': valid = True data = { 'valid': valid, } return JsonResponse(data) login.js- import { StatusBar } from 'expo-status-bar'; import { StyleSheet, Text, View, FlatList, Image, Button, Pressable, ScrollView } … -
Django duplicate value violates unique constraint using Objects.create()
I have this object for save files: class File(Base): title = models.CharField(max_length=512, default="arquivo", verbose_name=_('Title'), blank=False) filename = models.FileField(max_length=512, verbose_name=_('File'), help_text=_("Select the logo file."), blank=False, null=False) slug = models.SlugField(max_length=512, verbose_name=_('Slug'), blank=False, null=False) extension = models.CharField(max_length=16, verbose_name=_('Extension'), blank=True, null=False) mimetype = models.CharField(max_length=256, verbose_name=_('Mimetype'), blank=True, null=False) size = models.IntegerField(blank=False, verbose_name=_('Size'), null=False) def save(self, *args, **kwargs): self.title = self.filename self.extension = self.filename.url.split('.')[-1] self.slug = slugify(self.filename) self.mimetype = self.filename.file.content_type self.size = self.filename.file.size super().save(*args, **kwargs) # Call the "real" save() method. # rename the file to new id pattern file_id = ('file_%019d' % self.id) current_directory = os.path.dirname(self.filename.path) os.rename(self.filename.path, f'{current_directory}/{file_id}') self.filename = file_id super().save(*args, **kwargs) The method save() it works when i add one file by admin page, the FileAdmin: @admin.register(File) class FileAdmin(admin.ModelAdmin, Base): form = FileModelAdminForm def save_model(self, request, instance, form, change): return Base.custom_save_model(self, request, instance, form, change) But, when i try create a File objects using File.objects.create(filename=file, user=request.user) return IntegrityError: duplicate key value violates unique constraint "core_file_pkey" DETAIL: Key (id)=(id_number) already exists. This is the code: number_file = request.FILES.get('number_file') f = File.objects.create(filename=number_file, user=request.user) The object is created in database, but without update the filename. The problem is in the second super().save(*args, **kwargs), but why this it work in normal insertion on Django Admin Page? -
Django - Accessing a boolean field of a model in html
My profile model has a BooleanField called teacher_status, and I want to give users with the teacher_status as True extra features within the website, and I am having trouble accessing the field. Profile model class Profile(models.Model): RANKS = [(f'{i}D', f'{i}K') for i in range(1,19)] for i in range(1, 10): RANKS.append((f'{i}D', f'{i}D')) user = models.OneToOneField(User, on_delete=models.CASCADE) image = models.ImageField(default='default.jpg', upload_to='profile_pics') bio = models.CharField(max_length=225, blank=True, default='') rank = models.CharField(max_length=3, default='18K', choices=RANKS) teacher_status = models.BooleanField(default=False) def __str__(self) -> str: return f"{self.user.username}'s Profile" def save(self, *args, **kwargs): super(Profile, self).save(*args, **kwargs) img = Image.open(self.image.path) if img.height > 300 or img.width > 300: img.thumbnail((300,300)) img.save(self.image.path) This is what I did in the html: {% if user.is_authenticated %} {% if user.profile.teacher_status == true %} <a class="btn btn-primary" href="{% url 'post-create' %}">Create Post</a> {% endif %} {% endif %} -
django cors headers not working (yes ik a 100th people asked before but their solutions didn't work)
my settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'channels', 'chatterapi', 'chatterchannels', "corsheaders", ] MIDDLEWARE = [ "corsheaders.middleware.CorsMiddleware", 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] CORS_ALLOW_ALL_ORIGINS: True *the chatter apps are my apps, and i'm also using django channels. tried moving cors headers up and down but had no luck. idk how to get the actual headers but here is the log : my views.py ? @api_view(['POST']) def createRoom(request): key = get_random_string(15) request.POST._mutable = True request.data['key'] = key request.POST._mutable = False print(request.data) serializer = RoomSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) else: return Response(serializer.errors, status=400) I really don't know what's going on, let me know if there is any way I can help. Is it possible that django channels overriding the runserver command is causing a conflict or something? (if that sounds dumb, please forgive me, cause I AM dumb) -
How can i order queryset by another model data?
I have three models and i wanna order Products.objects.all() by is_it_good from ProductsRating model. How can i do it? I was traing something like: qs = Products.objects.annotate( biggest_rating = Max('productsrating__is_it_good') ).order_by('biggest_rating') but then i get an error "Cannot resolve keyword 'productsrating' into field" models.py class CusUser(AbstractUser): pass class Products(models.Model): name = models.CharField(max_length=300) category = models.CharField(max_length=300) cost = models.IntegerField() class ProductsRating(models.Model): is_it_good = models.IntegerField(validators=[MaxValueValidator(0), MinValueValidator(5)]) whose_rated = models.ForeignKey(CusUser, on_delete=models.CASCADE) -
What are best practices for API error response handling?
It is best practice to handle such API errors by try and catch or the API response suppose to be like Google, Facebook and Microsoft API call Google API call example Facbook API call example Microsoft API call example -
How do I get the current item in the model from the request?
When a submit button is clicked, I want to be able to know what item the user was on. The button would be on an item's page that the user gets taken to when they click on an item. This button is is part of a django form (PlaceBid) that allows the user to bid for the item. So I want to be able to update what the item's highest bid is if the bid is higher than the current highest. This means that I need to know what item the user was viewing. I also want to save the bid in a model called Bid and in that model I also need to know what listing the bid is for. So how do I get the correct item from the model? The models: Listing() is the model for the item Bid() is the model for the bid views.py: def bid(request): if request.method == 'POST': form = PlaceBid(request.POST) if form.is_valid(): current = Listing.objects.get(pk=request.id) # my attempt to get the current item highest = current.highest_bid if form.cleaned_data['bid'] < highest: obj = Bid() obj.price = form.cleaned_data['bid'] obj.item = current obj.user = User.objects.get(pk=request.user.id) obj.save() current.highest_bid = form.cleaned_data['bid'] current.save() return HttpResponseRedirect(request.path_info) forms.py: class PlaceBid(forms.Form): … -
'function' object has no attribute 'owner'
@login_required def topic(request, topic_id): topic = Topic.objects.get(id=topic_id) _check_topic_owner(request) entries = topic.entry_set.order_by('-date_added') context = {'topic': topic, "entries": entries} return render(request, 'learning_logs/topic.html', context) def _check_topic_owner(request): if topic.owner != request.user: raise Http404 The problem is when im trying open page in web app. Is thow problem "'function' object has no attribute 'owner'"