Python'u python projelerim için oluşturma sürecine entegre etmek istiyorum, ancak bir show-stopper ile karşılaştım: Son derece yararlı bulduğum hata türlerinden biri -: - E1101: *%s %r has no %r
member*
yaygın django alanlarını kullanırken hata bildiriyor , Örneğin:
E1101:125:get_user_tags: Class 'Tag' has no 'objects' member
Bu kodun neden olduğu:
def get_user_tags(username):
"""
Gets all the tags that username has used.
Returns a query set.
"""
return Tag.objects.filter( ## This line triggers the error.
tagownership__users__username__exact=username).distinct()
# Here is the Tag class, models.Model is provided by Django:
class Tag(models.Model):
"""
Model for user-defined strings that help categorize Events on
on a per-user basis.
"""
name = models.CharField(max_length=500, null=False, unique=True)
def __unicode__(self):
return self.name
Pylint'i, nesneler gibi alanları gerektiği gibi dikkate alacak şekilde nasıl ayarlayabilirim? (Django kaynağına da baktım ve uygulanmasını bulamadım objects
, bu yüzden "sadece" bir sınıf alanı olmadığından şüpheleniyorum. Öte yandan, python için oldukça yeniyim, bu yüzden ben çok iyi bir şey göz ardı etmiş olabilir.)
Düzenleme: Bu uyarılar hakkında uyarmamak için pylint söylemek için bulduğum tek yolu, (bence) son derece yararlı bir hata olduğu için kabul edilebilir bir çözüm değil türü (E1101) tüm hataları engellemektir. Başka bir yol varsa, pylint kaynağını artırmadan, lütfen beni detaylara yönlendirin :)
Karşılaştığım sorunların bir özeti için buraya bakın pychecker
ve pyflakes
- genel kullanım için dengesiz oldukları kanıtlanmıştır. (Pychecker durumunda, çökmeler pychecker kodundan kaynaklandı - yükleme / çağırma kaynağı değil.)