나는 stackoverflow가 사용하는 것과 유사한 태그 시스템을 구축하고 있습니다. 태그는 해당 태그와 연관된 모델 인스턴스 및 이름으로 구성됩니다. 이 유형을 many to many 관계로 선언하는 방법에 대한 문서는 찾을 수 없습니다. 대개 ManyToMany (모델 이름)이지만이 컬렉션에서 원하는 많은 모델이 있습니다. 누구든지 포인터 또는 유용한 리소스가 있습니까?Django 태그 응용 프로그램, 이기종 ManyToMany 관계 정의
답변
ContentType을 사용하면이 작업을 수행 할 수 있습니다. 해당 페이지의 문서에서 태그를 사용하는 예제도 있습니다. 아마 전형적인 ManyToMany 필드를 사용할 수 없을 것이고, 태그 모델에 ForeignKey가 있고, GenericForeignKey가있는 대신 태그가있는 모델을 생성 할 것입니다.
태그가 달린 항목의 예가 있지만 구현 방법에 대한 제 아이디어는 조금 다를 수 있다고 생각합니다. 예를 들어 'FOO'라는 태그가 있다고 가정 해보십시오. 제안 된 구현에서 태그 'Foo'는 내 테이블에 하나의 항목이됩니다. 이 태그를 참조하는 모든 모델 인스턴스와 다 대다 관계를 포함합니다. 그래서 'FOO'를 참조하는 모든 모델 인스턴스를 찾으려면 Tag.objects.get (name = 'FOO'). references.all() 문서의 버전에서 4 개의 객체가 'FOO' 태그가 있으면 tagged_item 테이블에 4 개의 항목이 있습니다. – Mike
다 대다 관계는 관계의 각면에 외래 키가있는 테이블을 암시 적으로 만듭니다. 기본적으로, 내가 말하는 것은 명시 적으로 대신 해당 테이블을 생성해야한다는 것입니다. 여전히 Tag 테이블을 가질 수 있지만 TaggedItem 테이블도 만들어야합니다. – JeffS
- 1. htsql django 및 manytomany 관계
- 2. ManyToMany 관계
- 3. Django ManyToMany 관계 예제를 사용합니다. 먼저 초기화해야합니까?
- 4. ManyToMany 관계 (Django)에서 객체가 존재하는지 검사
- 5. django manytomany 관계 : 'tuple'객체에는 'all'속성이 없습니다.
- 6. django 모델 관계 정의
- 7. django formset의 이기종 양식
- 8. 장고의 다른 응용 프로그램에서 ManyToMany 관계를 정의하십시오.
- 9. Mysql ManyToMany 관계 로그
- 10. "Indirect"ManyToMany 관계
- 11. 장고 ManyToMany 관계
- 12. ManyToMany 계단식 관계 대체
- 13. Django : filter ManyToMany join
- 14. django 응용 프로그램 구성
- 15. ManyToMany 필드의 Django Initial
- 16. Django ManyToMany join query
- 17. Django 임베디드 ManyToMany 양식
- 18. ForeignKey 및 ManyToMany db 관계 없음
- 19. Spring/Hibernate3 ManyToMany 관계 문제
- 20. 장고 ManyToMany 관계 추가() 오류
- 21. 속성을 사용하여 manyToMany 관계 모델링
- 22. 태그 및 분류 용 Django v1.4 응용 프로그램 선택
- 23. Django 응용 프로그램 설치
- 24. Django : 버그보고 응용 프로그램
- 25. Django 초대 응용 프로그램
- 26. UI 및 응용 프로그램 관계
- 27. django 폼에서 manyTomany 인라인을 편집하는 방법은 무엇입니까?
- 28. Django admin, ManyToMany 레퍼런스로 객체 필터링
- 29. Django : 이기종 데이터 유형의 트리를 어떻게 모델링합니까?
- 30. Django Tastypie, ManyToMany Saving Error
태그로 연결하려는 각 모델에 대해 별도의 m2m 관계를 만들면 어떨까요? – j0ker
모델과 태그 모델 사이의 의존 관계를 만들고 싶지 않습니다. 시스템에 새 모델을 추가하면 태그 응용 프로그램에 새 필드를 추가하지 않아도됩니다. – Mike
@Mike'django-taggit' 또는'django-tagging' 또는 자체 코드와 같은 모듈을 사용하고 있습니까? – inigomedina