Django : 현재 사용자를위한 필터 데이터베이스

user12738075

내 웹 페이지에서 사용자가 월 및 연도별로 데이터베이스를 필터링하기를 원합니다.

이를 위해 filters.py를 만들었습니다.

내 문제 : 사용자가 자신의 데이터 만 필터링하도록 관리하지는 않았지만 다른 사용자의 데이터도 볼 수 있습니다.

지금까지 @login_required 및 objects.filter (user = self.request.user) 메서드를 사용하려고했습니다. 둘 다 내 문제를 해결하지 못했습니다.

나는 어떤 팁이라도 감사 할 것입니다!

여기 내 코드 :

models.py :

from django.db import models
from django.contrib.auth.models import User

class UserDetails(models.Model):
   user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="new_spending", null=True) 
   expense_name = models.CharField(max_length=255)
   cost = models.FloatField()
   date_added = models.DateTimeField()

filters.py

from .models import UserDetails
import django_filters

class BudgetFilter(django_filters.FilterSet):
    year_added = django_filters.NumberFilter(field_name='date_added', lookup_expr='year', label='Year   [yyyy]')# lookup_expr='year',
    month_added = django_filters.NumberFilter(field_name='date_added', lookup_expr='month', label='Month [mm]')
    class Meta:
        model = UserDetails
        fields = ['year_added', 'month_added']

views.py

from django.shortcuts import render
from .models import UserDetails
from .filters import BudgetFilter
from django.contrib.auth.decorators import login_required

@login_required
def search(request):

    lista = UserDetails.objects.filter(user= request.user)
    filtered_list = BudgetFilter(request.GET, queryset=lista)
    return render(request, 'budget_app/user_list.html', {
        'filter': filtered_list,
        'users': lista
        })

urls.py :

from django.urls import path
from . import views 
from django_filters.views import FilterView
from .filters import BudgetFilter

urlpatterns = [
     ...
     path('search/', FilterView.as_view(filterset_class=BudgetFilter,
        template_name='budget_app/user_list.html'), name='search'),
     ]

html 파일 :

{% extends 'budget_app/budget_base.html' %}



{% block content %}
  <form method="get">
    {{ filter.form.as_p }}
    <button type="submit">Search</button>
  </form>
  <ul>
  {% for item in filter.qs %}

    <li>{{ item.title }} - {{ item.date_added }}</li>
  {% endfor %}
  </ul>
{% endblock %}

감사합니다!

빌렘 반 온셈

여기 FilterView에서 search함수가 아닌을 트리거 하므로 변경 내용에 관계없이 아무것도 변경되지 않습니다. 즉, 여기에서 하위 클래스를 만드는 것이 더 나을 것이라고 생각 합니다 FilterView.

# app/views.py

from django.contrib.auth.mixins import LoginRequiredMixin
from django_filters.views import FilterView
from .models import UserDetails

class UserDetailsFilterView(FilterView):
    filterset_class=BudgetFilter
    template_name='budget_app/user_list.html'

    def get_queryset(self):
        return UserDetails.objects.filter(user=self.request.user)

그런 다음에서 다음을 urls.py사용할 수 있습니다 UserDetailsFilterView.

# app/urls.py

from django.urls import path
from . import views

urlpatterns = [
     ...
     path('search/', views.UserDetailsFilterView.as_view(), name='search'),
]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

반경으로 사용자의 현재 위치로 인한 위치 데이터베이스 필터링

분류에서Dev

현재 로그인 한 사용자의 데이터를 django에 저장

분류에서Dev

현재 사용자의 Android Firebase 데이터베이스 저장 데이터

분류에서Dev

django 필터를 사용하여 데이터베이스에서 데이터 필터링

분류에서Dev

사용자의 현재 위치를 기반으로 위치 데이터베이스 쿼리

분류에서Dev

현재 사용자가 데이터베이스를 쿼리하려고하지만 Django는 템플릿 if 문에서 중지합니다.

분류에서Dev

현재 실시간 데이터베이스 위치 변경

분류에서Dev

Django 데이터베이스 디자인

분류에서Dev

Django를 사용한 SQLite 3 데이터베이스

분류에서Dev

jdbc를 사용하여 Oracle 데이터베이스에 현재 날짜 삽입

분류에서Dev

데이터베이스 용 ACL 구현

분류에서Dev

사용자가 위치를 변경하자마자 현재 위치를 데이터베이스에 저장, Intel XDK를 사용하여 Google Map API 및 Cordova

분류에서Dev

MySQL의 8 GET 현재 사용 (기본값) 데이터베이스 이름

분류에서Dev

현재 사용자의 uid에 대한 데이터베이스 항목의 자식 값을 확인?

분류에서Dev

현재 로그인 사용자 만 이전에 데이터베이스에 입력 한 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Django : 데이터베이스에서 로그인 한 사용자 데이터를 표시하는 방법

분류에서Dev

Sparx EA : 현재 사용중인 데이터베이스 유형 감지

분류에서Dev

iOS Swift : 현재 로그인 한 사용자의 데이터베이스에서 항목 검색

분류에서Dev

현재 사용자 ID를 기반으로 Realm 데이터베이스를 어떻게 쿼리하나요?

분류에서Dev

Django의 모든 사용자를위한 자체 데이터

분류에서Dev

현재 시간이 두 TimeField 값 사이에있을 때 Django 필터

분류에서Dev

Sqlite 데이터베이스에 저장된 위치로 현재 위치 확인

분류에서Dev

데이터베이스에서 asp.net의 현재 사용자 ID를 얻는 방법

분류에서Dev

Django와 Laravel에 동일한 데이터베이스 사용

분류에서Dev

사용자가 만든 동적 데이터베이스-django

분류에서Dev

현재 날짜에 데이터베이스에서 데이터를 자동으로 가져 오는 방법

분류에서Dev

Django : 하나의 데이터베이스를 사용하여 다른 데이터베이스를 채우기위한 모델 설정

분류에서Dev

데이터베이스에서 현재 관리자 가져 오기

분류에서Dev

현재 데이터베이스 연결이 실패 할 경우 사용자가 데이터베이스 연결을 찾아 보도록 요청

Related 관련 기사

  1. 1

    반경으로 사용자의 현재 위치로 인한 위치 데이터베이스 필터링

  2. 2

    현재 로그인 한 사용자의 데이터를 django에 저장

  3. 3

    현재 사용자의 Android Firebase 데이터베이스 저장 데이터

  4. 4

    django 필터를 사용하여 데이터베이스에서 데이터 필터링

  5. 5

    사용자의 현재 위치를 기반으로 위치 데이터베이스 쿼리

  6. 6

    현재 사용자가 데이터베이스를 쿼리하려고하지만 Django는 템플릿 if 문에서 중지합니다.

  7. 7

    현재 실시간 데이터베이스 위치 변경

  8. 8

    Django 데이터베이스 디자인

  9. 9

    Django를 사용한 SQLite 3 데이터베이스

  10. 10

    jdbc를 사용하여 Oracle 데이터베이스에 현재 날짜 삽입

  11. 11

    데이터베이스 용 ACL 구현

  12. 12

    사용자가 위치를 변경하자마자 현재 위치를 데이터베이스에 저장, Intel XDK를 사용하여 Google Map API 및 Cordova

  13. 13

    MySQL의 8 GET 현재 사용 (기본값) 데이터베이스 이름

  14. 14

    현재 사용자의 uid에 대한 데이터베이스 항목의 자식 값을 확인?

  15. 15

    현재 로그인 사용자 만 이전에 데이터베이스에 입력 한 데이터를 가져 오는 방법은 무엇입니까?

  16. 16

    Django : 데이터베이스에서 로그인 한 사용자 데이터를 표시하는 방법

  17. 17

    Sparx EA : 현재 사용중인 데이터베이스 유형 감지

  18. 18

    iOS Swift : 현재 로그인 한 사용자의 데이터베이스에서 항목 검색

  19. 19

    현재 사용자 ID를 기반으로 Realm 데이터베이스를 어떻게 쿼리하나요?

  20. 20

    Django의 모든 사용자를위한 자체 데이터

  21. 21

    현재 시간이 두 TimeField 값 사이에있을 때 Django 필터

  22. 22

    Sqlite 데이터베이스에 저장된 위치로 현재 위치 확인

  23. 23

    데이터베이스에서 asp.net의 현재 사용자 ID를 얻는 방법

  24. 24

    Django와 Laravel에 동일한 데이터베이스 사용

  25. 25

    사용자가 만든 동적 데이터베이스-django

  26. 26

    현재 날짜에 데이터베이스에서 데이터를 자동으로 가져 오는 방법

  27. 27

    Django : 하나의 데이터베이스를 사용하여 다른 데이터베이스를 채우기위한 모델 설정

  28. 28

    데이터베이스에서 현재 관리자 가져 오기

  29. 29

    현재 데이터베이스 연결이 실패 할 경우 사용자가 데이터베이스 연결을 찾아 보도록 요청

뜨겁다태그

보관