2010-03-15 12 views
5

từ một phiên bản Trang web có quan hệ ManyToMany với Kiosk, tôi muốn kiểm tra xem đối tượng Kiosk có phải là một phần của mối quan hệ hay không.Cách tốt nhất để kiểm tra xem một đối tượng có phải là một phần của mối quan hệ ManyToMany ở Django

tôi có thể làm

self.apps.get(id=app_id).exists() and check if True 

hoặc

self.apps.get(id=app_id) and catch the ObjectDoesNotExist error 

hoặc

self.apps.filter(id=app_id) and check if True 
  • Nếu tôi có để bắt một lỗi ObjectDoesNotExist có thể, tôi có thể là sử dụng tốt thứ hai
  • tôi có thể làm thứ hai nhưng doesnt dường như siêu sạch
  • có thể sử dụng ba chỉ một mà sử dụng bộ lọc trên một ID duy nhất dường như không đúng với tôi

Bạn có thể cho tôi biết để sử dụng bất cứ hoạt động và đó sẽ là một câu trả lời hợp lệ ;-)

+0

Tại sao việc sử dụng bộ lọc trên ID có vẻ sai? – colinjwebb

+1

Tôi sẽ sử dụng tùy chọn thứ hai nếu bạn định làm việc với đối tượng và tùy chọn thứ ba nếu bạn chỉ muốn kiểm tra xem đó là một phần của mối quan hệ – Zach

Trả lời

10

tôi sẽ sử dụng

self.apps.filter(id=app_id).exists() 

có gì sai với điều đó?

+0

không nhiều, chỉ cần tách lông tôi đoán. – philgo20

Các vấn đề liên quan