2009-03-11 15 views
1

Form clean yönteminden özel bir Model yöntemini çağırmaya çalışırken bir sorun yaşıyorum.
http://dpaste.com/hold/12699/Django: Form temiz yönteminden özel Model yöntemini çağırma. "Bağlanmamış Yöntem"?

Özellikle benim Formunda hattı 11 ile sorun yaşıyorum:
nzb_data = File.get_nzb_data(nzb_absolute)

İşte http://dpaste.com/hold/12695/


benim Formu: İşte

maketimin [parçasıdır] şeklindedir

Bu, aşağıdaki hatayı yükseltir:

TypeError at /admin/main/file/add/ 

unbound method get_nzb_data() must be called with File instance as first argument (got str instance instead) 

Bu hata ile, yöntemi bir şeyden (Dosya örneği) geçirmem gerektiğini varsayabilirim, ancak bunun ne anlama geldiğini ve nasıl yapabileceğimi bilmiyorum.

Burada yanlış yaptığımı ve sorununuzu çözmek için neler yapabileceğimi bana bildirir misiniz?


get_nzb_data yöntemini @classmethod yönetmeni kullanarak bir sınıf yöntemi yaparak çözüldü. senin sınıf değil, bir nesne kullanarak çünkü

+0

pastaları, – seb

cevap

3

Sen

nzb_data = File.get_nzb_data(nzb_absolute) 

diyemezsin.

İki seçeneğiniz var.

  1. bir @classmethodget_nzb_data olun. Bkz. http://docs.python.org/library/functions.html#classmethod

  2. Dosya örneği oluşturun ve bunu kullanın. temp_f= File(...). Sonra temp_f.get_dnb_data.

+0

'dan sonra benzer bir sorunu olan kullanıcılar için hiç de mantıklı değil. Kesinlikle doğru – aatifh

+0

Bunu temizlediğiniz için teşekkür ederiz. Şu an mükemmel çalışıyor. –

1

Burada bir şeyleri kaçırıyor olabilirim, ama kullandığınız yöntemin bir @classmethod dekoratörüne sahip olması gerektiğini düşünüyorum. Aksi takdirde, "File" türünün argümanını bekler ve bu da bu hatayı verir.

İlgili konular