2010-09-11 7 views
18

Model alan türünü Django'da bir model sorgulamadan alabilir miyim? ÖrneğinDjango'da bir model sorgudan model alan türü alabilir miyim?

: ab model QuerySet ve b modeli aşağıdaki alanları içerir:

  • saat ForeignKey:

    • f: Charfield
    • gr manytomany

    mi var alan g 's queryset a türüne almak için herhangi bir yol? thx.

    a.model._meta.get_field('g').get_internal_type() 
    
  • +0

    Neden alan türünü gerekir: – Dean

    cevap

    34

    ben cevabım var? Sonuçları kontrol etmek ve sonuçtan alan türünü belirlemek daha kolay olmazdı.
    +1

    Python'da yeniyim, ancak önde gelen alt çizgi 'kullanmayın' anlamına geliyordu. – TimP

    +3

    @TimP genellikle önde gelen alt çizgi "kullanmayın" anlamına gelir. Bununla birlikte, '_meta' nesnesinin Django'da son birkaç versiyonda giderek çoğaldığını ve Django'da kapsamlı olarak dahili olarak kullanıldığını SO'dan okumaktan derledim. Devam et ve kullan dedim, ama Django sürümlerini yükselttiğinizde testlerinizi çalıştırdığınızdan emin olun (ünite testleri yapıyorsunuz, değil mi?). Ama genel olarak haklısınız, Python'daki üçüncü parti kütüphanelerinden _single_leading_underscore sembollerini kullanmaktan kaçının. – wkschwartz