본문 바로가기

django.core.exceptions.FieldError: Related Field got invalid lookup: icontains django.core.exceptions.FieldError django.core.exceptions.FieldError: Related Field got invalid lookup: icontains 이렇게 에러나 가는 경우에 FK 관련된 내용을 검토해보시면 됩니다. 저 같은 경우에는 search_fields에 FK를 바로 썼더니 에러가 나더라고요. 당연한거죠 ! search를 column 단위로 해야지 object 단위로 하려고 하니까 에러가 발생할 수 밖에요 ! 예를 들어서 news라는 FK가 있다고 합시다. search_fields에 적어줄 때는 news의 어떤 컬럼인지 적어줘야 합니다. search_fields = ('news',) #error title이라는 column이 있다고 가정하고 작성.. 더보기
django allauth models 를 admin에서 unregister하기 django allauth 많이 사용하시죠. 저도 사용하고 있는데 진짜 단순한 기능만 몇 개 사용하는데 admin에서는 많은 model들이 추가로 불려져서 복잡해지곤 합니다. 그래서 저는 안쓰는 것들은 admin에서 안보이게 하고 싶었고요. 아래와 같은 코드로 일부 allauth에서 추가되는 것들을 admin에서 제거했습니다. admin.site.unregister(model_name) 이런 식으로 작성하시면 되는데 저는 EmailAddress, SocialAccount, SocialToken, SocialApp 모델을 사이트에서 안보이게 하고 싶었습니다. 일단 allauth를 추가하시고 admin 사이트에 들어가보셔서 사용하실 것들은 남기고 필요 없는 것만 unregister 하시면됩니다. 만약 소셜 .. 더보기
Django Admin : site register Django Admin 페이지에서 site를 추가해보면 domain_name과 display_name이 나옵니다. ID는 표시되지 않는데요. 가끔 setting.py 에 SITE_ID를 적어야 하는데정확한 값을 알려면 DB를 접속하거나 CODE를 더 작성해야 하니까요. ID가 표시되면 좋겠죠. 아래와 같이 ID를 추가하려면 site를 unregister를 통해 해제했다가 다시 register를 통해 불러와야 합니다. 코드는 아래와 같습니다. 더보기
장고 어드민 커스터마이징 (Django Admin Customizing) 와 ! 아래 사이트 정말 좋네요. 장고 어드민 사이트 변경하고 싶을 때 항상 구글링 해왔는데요. 정말 잘 정리된 것 같아요. 요 내용 하나씩만 따라하면 왠만한 커스터마이징은 쉽게 할 수 있을 것 같습니다. 오랜만에 정말 마음에 드는 사이트를 알게되서 공유해봅니다. https://books.agiliq.com/projects/django-admin-cookbook/en/latest/ 더보기
Django User Password Change using Command Line Django 사용자 패스워드를 변경하기 위한 Command Line은 아래와 같아요. python manage.py changepassword user_name 입력하게 되면 password를 다시 입력할 수 있습니다.successfully for user 'user_name' 메시지가 나왔다면 성공적으로 변경된 것입니다. 더보기
Django Admin : list_filter, ForeignKey 이전 글에 좀 더 붙여봅니다. 2017/04/16 - Django Admin : list_filter, SimpleListFilter 앞의 포스팅의 결론은 SimpleListFilter로 필요한 것들을 만들 수 있다는 것이고요. (물론 다는 아니겠지만요 !) 여기서는 SimpleListFilter에 사용되는 Column이 ForeignKey 값을 가지고 있으면 어떻게 해야 하는 지에 대해서 적어둡니다.Django를 많이 사용하시는 분들은 당연히 잘 아시겠지만 __ (언더 바 2개) 로 ForeignKey가 가르키고 있는 데이터에 접근할 수 있는데요.SimpleListFilter에 parameter_name에도 동일하게 적용됩니다. Filter가 추가되는 모델에는 book이라는 ForeignKey가 존재하.. 더보기
Django Admin : list_filter, SimpleListFilter Django Admin 페이지에서 하나의 모델을 선택하면 아래와 같이 필터는 없고 데이터만 쭉 나열된 것을 볼 수 있죠. 여기에 Filter 2개를 추가해보면 좋을 것 같네요. 하나의 Filter는 Status를 True / False 를 선택적으로 볼 수 있도록 하는 것을 하고요. 또 다른 하나는 item_code를 특정 값 이하만 볼 수 있도록 하는 Filter를 달아보겠습니다. 첫 번째 것은 정말 쉬운 것 같아요. admin.py에 아래와 같이 추가하면 끝입니다. BooleanFieldListFilter를 하나 추가한 것이 끝입니다. 결과는 아래와 같이 오른쪽에 Filter가 추가되어 나타납니다. 이 필터를 누르면 데이터가 필터링되어서 보여지죠. 많은 데이터가 있고 내가 원하는 결과를 빠르게 보기 .. 더보기
Django Admin : Class Name Change (Verbose name) Django Admin 페이지에 클래스 이름을 변경하기 위해서는 models.py에 접속해서 해당 클래스의 Meta에 verbose_name과 verbose_name_plural을 직접 설정하면 됩니다. 이에 대한 자세한 설명은 Django 문서에서 확인할 수 있습니다. verbose_name - https://docs.djangoproject.com/en/1.11/ref/models/options/#verbose-name verbose_name_plural - https://docs.djangoproject.com/en/1.11/ref/models/options/#verbose-name-plural 아래와 같이 적용이 가능합니다. 적용 결과는 아래와 같고요. 조금이라도 더 보기 좋게 바꾸는 것을 계속하.. 더보기
django admin site : search field Django Admin Site에서 field로 검색하기 위해서는 search_fileds 를 작성해주면 됩니다. 아래는 django documentation의 일부 입니다. https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin.ModelAdmin.search_fields 기본적으로는 아래와 같이 적용하면 됩니다. admin.py에 작성하는 class에 search_fields에 column name을 작성하면 검색이 됩니다. admin site에서는 아래 그림 처럼 search input이 보여요. 간단하게 끝 :-) 더보기
django admin site : PRINT - all columns(fields) of model django admin 페이지에서 model의 특정 컬럼을 시각화하는 방법에 대해서는 지난 포스팅에서 다룬 적이 있슴다 :) 요거구요 :)2016/04/20 - [Python/Django&Celery] - django admin site - list display 이번에는 모델이 가지고 있는 모든 컬럼을 시각화하는 방법에 대해서 정리해둡니다 ㅠ 1. 예를 들어서 test 라는 app에 Cup 이라는 모델이 있다고 가정할께요. admin.py 안에 아래와 같이 작성함으로써 모든 컬럼을 불러 올 수 있어요. from test.models import Cup class CupAdmin(admin.ModelAdmin): list_display = Cup._meta.get_all_field_names() admi.. 더보기
django admin site : boolean filter 관련 포스팅 - django admin site - list display : http://ngee.tistory.com/853 장고(django)에서 제공되는 Admin site는 쓸모가 많습니다 :)이번 포스팅에서는 boolean filter를 적용하는 방법에 대해서 정리해둡니다. 제가 사용하고 있는 django 버전은 1.9.5 입니다. 1. 아래 화면은 Filter를 하나 추가한 화면입니다. 필터의 종류는 BooleanFieldListFilter 이고요. 여러 컬럼 중에 ea_status 라는 컬럼을 활용한 것입니다. 기본적인 django admin site에 접속하면 filter는 하나도 존재하지 않습니다. 필터를 추가함으로써 많은 객체 중에서 원하는 객체를 쉽고 빠르게 찾을 수 있으니깐 객체가.. 더보기
django admin site - list display 장고(django)에서 제공하는 강력한 앱은 admin인 것 같아요.아래에는 django의 list display의 중요성을 간단하게 정리합니다. :) 1. admin 페이지에 단순 model을 표출하는 것은 아래와 같은 소스로 가능합니다. models.py에 있는 클래스 중 Comment를 불러오고 이것은 admin site에 등록하는 소스이죠. 적용된 화면을 보면 아래와 같아요. 좋습니다.!! comment가 5개 있다는 정도는 알 수 있겠네요. 2. 기존 소스를 조금 변경해서 아래와 같이 수정해봤습니다. class를 하나 만들었는데요. CommentAdmin입니다. !! list_display에 여러 컬럼 이름을 작성해줬고! 이것이 중요합니다. :) list_display에 작성한 것들이 한 번에 .. 더보기
django - model field example django model field에 대해서 작성해봅니다. model field는 여러 가지가 있고, 옵션(option)들도 있어서 원하는 form이나 database table을 만들 수 있습니다. 여러 model field를 한 번 생성해보고 admin 페이지에서 어떻게 보이는지확인해보는 것이 이번 포스팅의 목적입니다. 일단 model field에 대한 django 공식홈의 문서는 아래 url과 같습니다.url : https://docs.djangoproject.com/es/1.9/ref/models/fields/ model filed option에 대해서는 아래 url을 참고하세요.url : https://docs.djangoproject.com/es/1.9/topics/db/models/#field.. 더보기
django - model and admin django에 대해 tutorial 부터 다시 보고 있습니다. 이번 포스팅에서는 tutorial에 나와 있는 것을 따라해보는 정도입니다. tutorial url https://docs.djangoproject.com/en/1.9/intro/tutorial02/ 위 tutorial 중 하단에 있는 내용 중 admin 페이지에 관한 것입니다.model에 attribute는 데이터베이스의 column과 유사하게 인식해도 될 것 같습니다. 아래와 같은 단계를 통해 admin 페이지의 기능을 확인해보고자 합니다. 1. super 사용자 생성 (createsuperuser)2. 여러 attribute 가진 model 생성3. admin.py 수정4. admin 페이지 접속 및 확인 1. python manage.p.. 더보기
Tomcat7 - Default admin password in Ubuntu 14.04 /* 최대한 한글 없이 필요한 내용만 작성하는 포스팅입니다. */ Tomcat7 Admin Page ---> http://server_ipAddress:8080/manager/html manager service configuration file : /var/lib/tomcat7/conf/tomcat-users.xml vi /var/lib/tomcat7/conf/tomcat-users.xml ...... ...... ............ 더보기