Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
TypeError: addProductPaymentResponse() missing 1 required positional argument: 'paymentForOrderID'
I want to restrict post request if similar str(number) in paymentForOrderID is already exists in ProductPayment model, #model.py class ProductPayment(models.Model): user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, editable=False,verbose_name="Payment Made By",) paymentForOrderID = models.CharField(max_length=200, null=True, blank=True, verbose_name="Payment For Order ID") paymentMethodUsed = models.CharField(max_length=200, null=True, blank=True,editable=False, verbose_name="Method Used") aproxTimeAndDateOfPayment = models.CharField(max_length=200, null=True, blank=True,editable=False, verbose_name="Approx Date/Time Of Payment") totalAmountPaid = models.CharField(max_length=200, null=True, blank=True,editable=False, verbose_name="Amount Paid") paymentDetails = models.TextField(null=True, blank=True,editable=False,verbose_name="Details") createdAt = models.DateTimeField(auto_now_add=True) _id = models.AutoField(primary_key=True, editable=False, verbose_name="Entry ID") def __str__(self): return str(self.createdAt) I'm trying this way.... #views.py @api_view(['POST']) @permission_classes([IsAuthenticated]) def addProductPaymentResponse(request, paymentForOrderID): user = request.user data = request.data response_list = ProductPayment.objects.all() alreadyExists = response_list.objects.filter(paymentForOrderID=paymentForOrderID).exists() if alreadyExists: content = {'detail': 'Sorry Response has already been recieved'} return Response(content, status=status.HTTP_400_BAD_REQUEST) else: product = ProductPayment.objects.create( user=user, paymentForOrderID=data['paymentForOrderID'], paymentMethodUsed=data['paymentMethodUsed'], aproxTimeAndDateOfPayment=data['aproxTimeAndDateOfPayment'], totalAmountPaid=data['totalAmountPaid'], paymentDetails=data['paymentDetails'], ) return Response('Payment Response added') On hitting post action from frontend I get this error TypeError: addProductPaymentResponse() missing 1 required positional argument: 'paymentForOrderID' [22/Jul/2021 18:13:01] "POST /api/payments/product-payment-add-response/ HTTP/1.1" 500 102170 So kindly highlight where is the mistake and how can I fix that -
How to use global variables in django
I use django_rest_framework. I need parse huge xml file then find some data. Parse xml on get call is bad idea because is too long time. I try once a 3 minute parse it and save parsed object to global variable. But I'm not sure about it work correctly. Example: class MyView(APIView): catalog = None parse_time = 0 @classmethod def get_respect_catalog(cls): if time.time() - cls.parse_time > 300: cls.catalog = parse_xml() cls.parse_time = time.time() return cls.catalog def get(self, request): vals = catalog.xpath('tag/text()') # here i find some tag ... return response I sent several requests but many time variable parse_time had value 0. As if class MyView recreate sometimes and class variables "catalog" and "parse_method" resets to init values. I think it because uwsgi have many workers and many interprets. May be exists way for using global variables in django. P.S. I know for my case I need use database. But I want use global vars. -
adding items from products to card (Django-views-codes)
I am fairly new and working on a project and just want to add products to the basket and I'm getting this Error: "AttributeError at /productapp/basket/add/Django Tutorial/ Manager isn't accessible via Basket instances" I think the problem is the view code but don't know how to fix it. Can anybody help me? Thank You. Models: class Products(models.Model): products_name = models.CharField(max_length=30) pub_date = models.DateTimeField(auto_now=True) price = models.CharField(max_length=10) note = models.CharField(max_length=200) inventory = models.IntegerField(default=1) product_pic = models.ImageField(upload_to ='images/', default='images/broken/broken.png') def __str__(self): if (self.inventory<=0): return self.products_name + ' (Out of Stock)' return self.products_name class Basket(models.Model): products = models.ForeignKey(Products, on_delete=models.CASCADE) pub_date = models.DateTimeField(auto_now=True) amount = models.IntegerField(default=1) def __str__(self): return str(self.products) urls: app_name = 'productapp' urlpatterns = [ path('products/', views.products, name='products'), path('basket/', views.basket, name ='basket'), path('', views.home, name='home'), path('basket/add/<str:name>/', views.addtobasket, name='addtobasket'), ] views: def products(request): products_list = Products.objects.order_by('-pub_date') context = {'products_list': products_list} return render(request, 'productapp/products.html', context) def basket(request): basket_list = Basket.objects.order_by('-pub_date') context = {'basket_list': basket_list} return render(request, 'productapp/basket.html', context) def addtobasket(request, name): basket = Basket.objects.all()[0] product = Products.objects.get(products_name=name) basket.objects.add(products=product) return HttpResponseRedirect(reverse("basket")) Html: <body> <section class="products_section"> <h1 class="products_section_h1" style="color: #ffffff;">Our Tutorials</h1> {% block content %} {% if products_list %} {% for product in products_list %} <div class="products"> <div class="product"> <img src="../{{product.product_pic}}" style="width:200px; border: 2px solid #051218;"> … -
Django object creation happens infinitely
I have a class connectTo defined in myclass.py which will connect to lets say a TCP socket and importing the same in views.py. I wrote an ajax to call the views function which creates object for my class as below views.py from myclasses import connectTo def connect(request): connectTo() return JsonResponse("Success") but the problem is as long as django server is running the connection to the TCP socket is happening. It should happen only once when connect in views.py is called instead it keeps on creating object and establishes TCP connection and stops if I close django server. -
Django admin inlines - how to remove empty records from create/update form
I'm using StackedInline to add related objects in my Django admin form (relation is one to many). The problem is that it renders three empty inline forms by default when creating new object like in this example: What I want is to render only "Add" button because the related objects are so rare that most of the records don't have these (or at least single empty record) and my related object is much larger than the one on the pictures. It should look something like this example: How can I do this? -
How to redirect from a view in one app to a view in another app?
I have two apps members and ctr member app handles the login, registration and logout and ctr will handle some admin stuff in page named foradmin.html. I want to redirect to from member/views.py to ctr/views.py after the login has been done. Please tell me how can I do it member/views.py def loginpage(request): if user is not None: login(request, user) if user.is_superuser: return redirect('foradmin') #this foradmin page is included in ctr urls @login_required(login_url='login') @allowed_user(allowed_roles=['admin']) def foradmin(request): return render(request, 'foradmin.html') #I want to redirect this ctr app this is also written in ctr/views.py member/urls.py urlpatterns=[ path('register',views.registerpage, name='register'), path('login', views.loginpage, name='login'), path('logout', views.logoutUser, name='logout'), path('ricktest', views.ricktest, name='ricktest'), path('forstaff', views.forstaff, name="forstaff"), path('foradmin', views.foradmin, name="foradmin"), ] ctr/views.py @login_required(login_url='login') @allowed_user(allowed_roles=['admin']) def foradmin(request): return render(request, 'foradmin.html') ctr/urls.py urlpatterns=[ path('foradmin', views.foradmin, name="foradmin"), ] Final Note: I want that after the conditions of login are met this should redirect to ctr app -
How to implement Biometric Authentication in a ReactJS Web Application
I currently have a web application set up using ReactJS for the front-end, Django and Apache Guacamole for the back-end and MariaDB for the database. I also have a Secugen Hamster Plus Fingerprint Scanner which when plugged in to the computer, will be used for user authentication on the login page of the web application (using ReactJS). Does anyone know how I can go about writing code to retrieve fingerprint images from the database to compare them with the user-inputted fingerprint when he attempts to login? I have been unsuccessful in finding any working examples or documentation for reference on the Internet. -
How to get type of object if value of ForeignKey is None?
I have got a basic foreign key table structure class Category(models.Model): id_pk = models.AutoField(primary_key=True) label = models.CharField(unique=True, max_length=200, blank=True, null=True) class Meta: managed = False db_table = 'category' and class PartProperty(models.Model): id_pk = models.AutoField(primary_key=True) category = models.ForeignKey(Category, models.DO_NOTHING, blank=True, null=True) class Meta: managed = False db_table = 'part_property' If a row inside PartProperty has a Category object I can access this object via e.g. part_property = PartProperty.objects.select_related().filter(id_pk=part_property_id) and part_property[0].catogory respectively dynamically via part_property .values(*(self.__COLUMN_NAMES))[0]['self.__COLUMN_NAMES[i]] and set a new value and save the table where the foreign key points to. But if part_property[0].catogory is None I have no object type for creating an object of the foreign key table. Is it possible to get the object type dynamically from the PartProperty / PartProperty model? -
Python Django refusing to create user and telling me to download Pillow (again)
I'm trying to create a new superuser within my admin files, and I receive this error. PS C:\Users\sefni\Desktop\AtlasStore> py manage.py createsuperuser SystemCheckError: System check identified some issues: ERRORS: store.Product.image: (fields.E210) Cannot use ImageField because Pillow is not installed. HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow". Thing is I have already installed pillow before making making migrations to my data, it worked successfully since I have my 0001_initial.py. This is the error given when I try to install pillow again. PS C:\Users\sefni\Desktop\AtlasStore> pip install pillow pip : The term 'pip' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + pip install pillow + ~~~ + CategoryInfo : ObjectNotFound: (pip:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException Content of my admin files: from django.contrib import admin from .models import Category, Product @admin.register(Category) class CategoryAdmin(admin.ModelAdmin): list_display = ['name', 'slug'] prepopulated_fields = {'slug': ('name',)} @admin.register(Product) class ProductAdmin(admin.ModelAdmin): list_display = ['title', 'author', 'slug', 'price', 'in_stock', 'created', 'updated'] list_filter = ['in_stock', 'is_active'] list_editable = ['price', 'in_stock'] prepopulated_fields = {'slug': ('title',)} -
How can set the boolean value in django
I am trying to get set the boolean value True when the checkbox is selected but when i select it show the error failed["“>” value must be either True or False."] and also it show the error when i set the password object have no strip fucntion Model/py from django.db import models from django.contrib.auth.models import AbstractUser class Auth_User(AbstractUser): is_vendor = models.BooleanField(default=False) View.py class Sign_up(TemplateView): template_name = 'Sign-up.html' def get(self, request, *args, **kwargs): return render(request, self.template_name) def post(self, request): try: data = self.request.POST.get user = Auth_User( username=data, email=data, is_vendor=data ) user.set_password(data('password').strip()) user.save() return render(request, 'home.html') except Exception as e: return HttpResponse('failed{}'.format(e)) Html <label for="is_vendor">is_vendor <input type="checkbox" name="is_vendor"> </label><br> -
django: Handling two values in one field
Intro: I have time series data that need to be stored in with the date_created, the its value. Also, each list of values will have a column where I define some constants. Example, oxygen level can be today == 95, later its goes to 80 which is bad things and I need to monitor that. My Models: class Column(models.Model): max = models.PositiveIntegerField(max_length=500, null=True, blank=True) min = models.PositiveIntegerField(max_length=500, null=True, blank=True) limit = models.PositiveIntegerField(max_length=500, null=True, blank=True, help_text='if {absolute(latest measurement - the new measurement) == limit} then you may need to be alerted') name = models.CharField(max_length=500) user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='statistics', null=True, on_delete=models.SET_NULL) class Value(models.Model): object_id = models.CharField(max_length=20) name = models.CharField(max_length=50, blank=True) column = models.ForeignKey(Column, related_name='values', on_delete=models.CASCADE) field_value = models.CharField(max_length=500) field_name = models.CharField(max_length=500) seen_by = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='seen_by_users', blank=True) date_created = models.DateTimeField(auto_now=True, blank=True, null=True) problem When I deal with blood pressure that should have a field_value like 120/80 which is why I am using CharField instead of IntigerField. Also, separating them cause many complications like # 1. I should create two value # Note I already planned to do it this way but I need more ideas please. Value.objects.create(field_name='Diastole', field_value=80) Value.objects.create(field_name='Systole', field_value=120) # 2. in the view I should do `anoniation` or `aggregation` on values … -
Why Django's POST doesn't do anything - not even an error?
I'm doing an assignment for Uni from Python/Django. One of the things I have to do is to create a form where a user can create a new "tournament" on the website. Frontend doesn't matter at all. I created a model, added some tournaments from the Admin panel and that works fine. But when I try to create a new tournament from the form, and click the sumbit button, I get redirected to my home page (even though nothing specifies in the HTML or views.py that this should happen), I get no error, no data posted and no info back from the command line. models.py: class Tournament(models.Model): title = models.CharField(max_length=30) creator = models.OneToOneField(User, on_delete=models.CASCADE) players = models.ManyToManyField(User, related_name="players",) created_date = models.DateField(auto_now=True) start_date = models.DateField(auto_now=True) max_players = models.IntegerField( null=True, validators=[MinValueValidator(2), MaxValueValidator(64)]) slug = models.SlugField(unique=True, db_index=True) def __str__(self): return f"{self.title} \n {self.creator} \n {self.max_players}" Forms.py class TournamentForm(forms.ModelForm): class Meta: model = Tournament #exclude = ["slug"] fields = "__all__" views.py class TournamentView(View): def get(self, request): form = TournamentForm() print(form.errors) return render(request, "tournament_app/new_tournament.html", { "form": form }) def post(self, request): form = TournamentForm(request.POST) if form.is_valid(): print(form.errors) form.save() return redirect("/thank-you") print(form.errors) return render(request, "tournament_app/new_tournament.html", { "form": form }) The HTML file {% extends "base.html" %} … -
Can`t change Django REST Framewokr language
When i load my page in postman i have output: { "detail": "You do not have permission to perform this action." } I want to have this message in ukrainian Here is my settings.py: MIDDLEWARE = [ ... 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', ... ] from django.utils.translation import gettext_lazy as _ LANGUAGES = [ ('uk', _('Ukraine')), ('en', _('English')), ] # LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'uk-UA' # LANGUAGE_CODE = "es-es" My request: GET /url/to/page HTTP/1.1 Host: 127.0.0.1:8000 authorization: Bearer *here is jwt token* Accept-Language: uk-UA I did all changes stay by instruction -
How to return all the disctinct foreign keys in a Django view?
Here is my model.py: class Category(models.Model): name = models.CharField(max_length=50, unique=True) description = models.CharField(max_length=255, default='') def __str__(self): return "%s" % (self.name) class SubCategory(models.Model): name = models.CharField(max_length=50, unique=True) description = models.CharField(max_length=255, default='') category = models.ForeignKey(Category, on_delete=models.CASCADE) def __str__(self): return self.name class Meta: ordering = ['name'] And my view.py: def home(request): context = { 'home_page': "active", 'categories': SubCategory.objects.order_by('category').distinct('category').values_list('category'), } return render(request, 'candidates/home.html', context) and my template: <ul> {% for category in categories %} <li>{{ category }}</li> {% endfor %} </ul> and instead of seing the Category names, I see their ID How can I get their names? Thanks -
Update field from None value to timestamp when click on Button
I have a simple problem: I have model Notification with fields: class Notification(models.Model): user = models.ForeignKey('User', models.CASCADE, related_name='notifications') message = models.TextField('Message') viewed_at = models.DateTimeField('Seen at', null=True, blank=True) created_at = models.DateTimeField('Created', auto_now_add=True, editable=False) And my logic is that Field viewed_at in DB is empty . But when I click on button "See it" This field will update with value timestamp now. I created function in my views: import datetime from django.http import HttpResponseRedirect from django.shortcuts import render, redirect class NotificationListView(core.ListView): permission_classes = [AllowAny] model = Notification template_name = 'auth/notifications.html' def get_queryset(self): return Notification.objects.filter(user=self.request.user) def get_context_data(self, **kwargs): context = super(NotificationListView, self).get_context_data(**kwargs) context['unviewed_list'] = Notification.objects.filter(viewed_at__isnull=True,user=self.request.user) context['viewed_list'] = Notification.objects.filter(viewed_at__isnull=False, user=self.request.user) return context def mark_as_read(request, notification_id): notification = Notification.objects.get(pk=notification_id) notification.viewed_at = datetime.datetime.now() notification.save() return HttpResponseRedirect(request.POST['next']) My urls.py: path('notification/<notification_id>/', views.mark_as_read, name='viewed-notification'), And template ListView <table class="table table-theme-3 text-left"> <tbody> {% for item in unviewed_list %} <td> {{ item.message }} <td> <td> {{ item.created_at}} <td> <span class="badge badge-error"> <a class="button button--success button--sm" href="{% url 'users:viewed-notification' %}?next={{ request.path }}"> See it </span> </td> </tr> {% endfor %} </tbody> </table> I need that when I click on See it - model Field "viewed_at" update from None value on timestamp now!)Please what I am doing wrong in my code and … -
Django conditional querysets
Alright, So I'm using a general listview showing all orders where the payment hasn't been completed yet. Let's call them outstanding orders, orders which still require some sort of payment. Orders contain one or multiple items and can contain zero or more payments. So I want to compare the total order value, compare this value with the total payment and if these or not equal to zero, show them in the list. Is there someway I can build a new queryset for items which do not meet a certain condition? views.py class OutstandingOrderListView(ListView): model = Order def get_queryset(self): queryset = Order.objects.all()[:5] for record in queryset.iterator(): # Retrieve order_total order_total = record.item_set.aggregate(total=Sum('price'))['total'] # Retrieve payment_total payment_total = record.payment_set.aggregate(total=Sum('amount'))['total'] # Compare both delta = order_total - payment_total if delta != 0: print("These guys owe you money!") # Add record to new queryset? -
Facing a bit weird CORS issues in django template. Some files from same path getting rendered but some are not
We have been using a combination of AWS Cloudfront to serve static files (hosted in S3) for our Django project. Things were running smoothly till yesterday. However now suddenly, we are facing cors issues for a few of our files. Also it looks like the way of calling is giving the issue. But I think that shouldn't be the case. When I look at the inspect, the font when called as , it is getting downloaded However, our original method of importing it under @font-face is what is giving it issues. which goes like: @font-face { font-family: 'HKGroteskPro'; font-weight:300; src: url('{% static 'landikit/fonts/HK Grotesk Pro/HKGroteskPro-Light.otf' %}'); } Have tried invalidating and giving this folder precedence on cloudfront too, but still no luck. Anyone who have faced a similar issue and can how this can be solved? -
how to use same token for reset username and reset passsword with djoser?
I use djoser in my django API just to handle reset_password and reset_username of users. I want to reset both of them in the same view. But I meet a problem because token is only valid for 1 change. I run reset_password, I receive a token and my uid. Then I can run reset_password_confirm or reset_username_confirm with this token, but I can't run the second one (the order doesn't matter). I use a piece of code of djoser to check the validity of my token. And I can see that token is unvalid after 1 change. How to change it as valid for 2 requests ? -
Is there any minimum key length is required for JWT_PUBLIC_KEY ? getting error Could not deserialize key data
i have used restframework_jwt with RS256 algorithm, and successfully created access token. But i am getting a error "Could not deserialize key data." when try to use this token as Authorization in header. i have tried changing the JWT_PUBLIC_KEY. Right now my setting is like this, settings.py JWT_AUTH = { 'JWT_PUBLIC_KEY': '-----BEGIN PUBLIC KEY-----\n'+str(SECRET_KEY)+'\n-----END PUBLIC KEY-----', 'JWT_PRIVATE_KEY': '-----BEGIN PRIVATE KEY-----\n'+str(PRIVATE_KEY)+'\n-----END PRIVATE KEY-----\n', 'JWT_ALGORITHM': 'RS256', 'JWT_ENCODE_HANDLER': 'rest_framework_jwt.utils.jwt_encode_handler', 'JWT_DECODE_HANDLER': 'rest_framework_jwt.utils.jwt_decode_handler', 'JWT_PAYLOAD_HANDLER': 'rest_framework_jwt.utils.jwt_payload_handler', 'JWT_PAYLOAD_GET_USER_ID_HANDLER': 'rest_framework_jwt.utils.jwt_get_user_id_from_payload_handler', 'JWT_RESPONSE_PAYLOAD_HANDLER': 'rest_framework_jwt.utils.jwt_response_payload_handler', } views.py class GetUserListView(generics.ListAPIView): authentication_classes = (JSONWebTokenAuthentication,) permission_classes = (IsAuthenticated,) serializer_class = UserSerializer queryset = CustomUsers.objects.all() these are version i am using, { "cryptography": { "version": "2.2" }, "implementation": { "name": "CPython", "version": "3.8.10" }, "platform": { "release": "5.8.0-63-generic", "system": "Linux" }, "pyjwt": { "version": "1.7.1" } } please help me to figure out the issue. -
django Queryset filter(a__b__c=d): get hold of b for futher filtering
I am writing a method that computes a complex Django QuerySet. It starts like this qs1 = A.objects.filter(b_set__c_obj__user=user) qs1 will eventually become the result, but before it does, the method goes on with several further steps of filtering and annotation. b_set is an 1:n relationship, but I know that at most one of the c_obj can actually match. I need to reference this c_obj, because I need another attribute email from it for one of the filtering steps (which is against instances of another model D selected based on c_obj's email). user can be either a User model instance or an OuterRef Django ORM expression, because the whole queryset created by the method is subsequently also to be used in a subquery. Therefore, any solution that involves evaluating querysets is not suitable for me. I can only build a single queryset. Hmm? -
Django - ValueError cannot assign - must be a - instance
I believe I understand where my issue comes from I am just not sure how to solve it. The issue is that I am trying to save a review for a product but in the select field of the product the items which are displayed are ones they have purchased. I accomplished this by overriding the init method in my form. My issue is with this exact query it doesn't give me the product, it gives me the string that is queried (due to the str in my model). Therefore when I try to add the review to the product this error is getting thrown. My issue is I do not know how I can get the product exactly because in order to display what I want to display in the select field I have to give it that specific query. Any help is greatly appreciated form class ReviewForm(forms.ModelForm): def __init__(self, *args, **kwargs): self.request = kwargs.pop('user') super(ReviewForm, self).__init__(*args, **kwargs) self.fields['product'].queryset = ShoppingCartOrderItem.objects.filter(user=self.request, ordered=True) # for item in self.fields['product'].queryset: # print(item.item) # print(self.fields['product'].queryset) class Meta: model = Review exclude = ['user', 'date'] widgets = { 'product': forms.Select(attrs={ 'class': 'form-control' }), 'rating': forms.NumberInput(attrs={ 'class': 'form-control', 'placeholder': '5.0..' }), 'comment': forms.Textarea(attrs={ 'class': 'form-control' … -
Project ideas for django
It has now been almost a month since I started learning Django, so far I have covered up basic topics like(CRUD and ORM) projects so far (Blog, Job Portal) and delved into DRF I am also able to write API's quite a fair bit, I wanted some project ideas that can improve my knowledge and take me into intermediate level -
How to update two models through one view?
I have two models: User and Profile, and two serializers: UserSerializer, ProfileSerializer, respectively. Is it possible to update these two models using one PUT request? -
I use django to upload file
I use the django framework to implement the function of uploading files, the local test is normal, and the following errors occur after deploying to the server. My code is as follows if request.method == 'POST': file_obj111 = request.FILES.get('file111') f = open('/home/file_loca/' + file_obj111.name, 'wb') for chunk in file_obj111.chunks(): f.write(chunk) f.close() It runs normally when tested locally.When I deployed to the server, an internal error appeared. *[22/Jul/2021 17:26:20] "POST /api/analysis/fuzzy_query HTTP/1.1" 200 15 qqq Internal Server Error: /api/analysis/fuzzy_query Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/django/http/request.py", line 391, in read return self._stream.read(*args, *kwargs) File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/wsgi.py", line 40, in read result = self.buffer + self._read_limited(size - len(self.buffer)) File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/wsgi.py", line 28, in _read_limited result = self.stream.read(size) File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/wsgi.py", line 40, in read result = self.buffer + self._read_limited(size - len(self.buffer)) File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/wsgi.py", line 28, in _read_limited result = self.stream.read(size) File "/usr/lib/python3.6/socket.py", line 586, in readinto return self._sock.recv_into(b) ConnectionResetError: [Errno 104] Connection reset by peer -
Access the member of other class instance
I have two class SubCtrl has the instance of MainCtrl class MainCtrl(): def __init__(self): self.pid = 100 def getSubCtrl(self): self.subCtrl = SubCtrl(self) def myFunc(self): return 99 class SubCtrl(): def __init__(self,mainCtrl): self.mainCtrl = mainCtrl self.mainCtrl.myFunc() // it works print(self.mainCtrl.pid) // it shows <aicomposer.helpers.MainCtrl object at 0x7f8a68136550 mainCtrl = MainCtrl() mainCtrl.getSubCtrl() However member method myFunc works but member variable doesn't work. Why does this happen??? I think I gave the instance of MainCtrl to SubCtrl() not class itself