내가 좋아하는 여러 테이블에 대한 쿼리가있는 경우에서 검색어 세트에 가입 투표 등). 어쨌든, 나는이 모든 결과에 하나의 쿼리 세트로 참여하고 싶습니다. 가능합니까? 당신이 일반적인 작업을하는 다른 개체가 필요 것 같다장고는 여러 테이블
답변
의 문제라고 생각합니다 : 장고 실제로 일부 내장 기능이 당신 수 이것에 대한 "남용"; 이미 사용자의 행동을 기록하고 일반적인 외래 키 관계를 통해 객체를 참조하는 모델이있는 관리자를 위해, 내가 생각하는 당신은 하위 클래스 모델 수 및 당신의 목적으로 사용 :
from django.contrib.admin.models import LogEntry, ADDITION
from django.utils.encoding import force_unicode
from django.contrib.contenttypes.models import ContentType
class MyLog(LogEntry):
class Meta(LogEntry.Meta):
db_table_name = 'my_log_table' #use another name here
def log_addition(request, object):
LogEntry.objects.log_action(
user_id = request.user.pk,
content_type_id = ContentType.objects.get_for_model(object).pk,
object_id = object.pk,
object_repr = force_unicode(object),
action_flag = ADDITION
)
당신이 할 수있는 이제 모든 통지 등을 log_addition(request, object)
으로 기록하고 목적에 맞게 로그 테이블을 필터링하십시오! 당신이 또한 변경/삭제 등을 기록하고 싶다면 당신은 그 자신을 위해 어떤 도우미 기능을 만들 수 있습니다!
음, 그게 재미 있어요! 나는이 방법을 시도 할 것이다! 감사! :) – dana
이 ...
1)이 경우는 슈퍼 클래스의 이러한 속성 추상적에 더 좋을 수도 ... 나는 당신이 Event
을 가질 수 있다는 것을 의미 클래스는 user
필드를 정의하고 다른 모든 이벤트 클래스는이 클래스를 서브 클래스 화합니다.
class Event(model.Model):
user = models.ForeignKey(User)
date = ...
class Reply(Event):
#additional fields
class Vote(Event):
#additional fields
그럼 당신은 모델 상속에 대한 정보를
Event.objects.order_by("date") #returns both Reply, Vote and Event
체크 아웃 http://docs.djangoproject.com/en/1.2/topics/db/models/#id5 다음을 수행 할 수있을 것입니다.
2) Event
모델은 다른 개체와 일반적인 관계가 있습니다. 개념적으로 "이벤트"가 아니므로 Vote
이 더 깨끗해 보입니다. 체크 아웃 : http://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#id1
을 어쨌든, 나는 당신의 문제가 세바스티안의 제안 번호 2로 디자인
또한- 1. 장고는
- 2. 장고는
- 3. 장고는 쿼리
- 4. 장고는 가장 효율적인 방법입니까?
- 5. 장고는 X 시간
- 6. 장고는 간단한 검색 폼
- 7. 장고는 다음과 같이,
- 8. 장고는`MEDIA_ROOT`으로 무엇을할까요?
- 9. 장고는 매번로, 유니 코드
- 10. 장고는 JOIN을 지원합니까?
- 11. 장고는 APPEND_SLASHES을 (를) 무시합니다.
- 12. 장고는 초보자 질문
- 13. 장고는 사이트 맵 효율
- 14. 장고는 다중 가치 쿠키를 지원합니까?
- 15. 장고는 CSS로 이미지를 표시하지 않습니다.
- 16. 장고는 RoR보다 본질적으로 호스트하기가 어렵습니까?
- 17. 데이터베이스 분할; 여러 테이블
- 18. 여러 데이터베이스에서 테이블 검색
- 19. TClientDataset의 여러 테이블?
- 20. 레일에서 여러 테이블 쿼리
- 21. 여러 테이블 조인
- 22. 쿼리에서 여러 테이블 검색
- 23. 여러 HTML 테이블 렌더링
- 24. 여러 MySQL의 테이블
- 25. Lucene에서 여러 테이블 인덱싱
- 26. LINQDataSource - 여러 테이블 쿼리?
- 27. 데이터베이스의 여러 테이블
- 28. 쿼리 여러 테이블
- 29. 도움말, 여러 테이블
- 30. 여러 개의 임시 테이블?
왜 이것을 원한다고 말할 수 있습니까? 우리는 대체 솔루션을 제공 할 수 있습니다 ... – sebpiq
왜냐하면 : 1.i는 알림 목록을 가지고 있으며, 사용자가 동일한 순서로 이벤트가 발생했음을 나타내는 '새로운 알림'을 모두 표시하려고합니다. 먼저 답장, 투표 등). 또한, 나는이 모든 알림을 며칠 씩 주문하고 싶습니다. (그리고 모든 질문에 대해서만 가능합니다.) 및 2. 두 번째 이유 - 나는 UserProfile의 '이름 필드'에 queryset이있는 다른 곳에서 검색 기능을 가지고 있으며 사용자 테이블에 '사용자 이름'에 대한 qset을 추가하여 검색 할 수 있습니다. 둘 다. 고마워요! – dana
Sébastien Piquemal과 같은 모델의 아키텍처를 변경하고 싶지 않다면 모든 오브젝트를 목록에 넣고 정렬 할 수 있지만 쿼리 세트에서는 사용할 수 없습니다. –