Ich versuche, von Django 1.7.1 auf 1.8 auf meinem dev env zu aktualisieren. Ich habe anscheinend ein Problem mit einem meiner Modelle, ich denke, eine Core-Datei wurde aktualisiert und es ist mit meinem Modell unordentlich. Ich kann nicht herausfinden, was es verursacht, dass es stirbt.Django Klassenüberschreibungen schlägt fehl Systemüberprüfung
Dies ist der einzige Fehler, den ich bekomme, wenn ich einen manage.py Test
CommandError: System check identified some issues:
ERRORS:
graphite_alerts.CheckResults: (models.E020) The 'CheckResults.check()' class method is currently overridden by <django.db.models.fields.related.ReverseSingleRelatedObjectDescriptor object at 0x3a76310>.
ich die Klasse zu ändern Namen versuchte zu laufen versuchen, und sah mein Modell um und kann nicht scheinen, etwas zu finden, dass eine verursachen würde Überschreibung Fehler
Dies ist die Klasse:
class CheckResults(models.Model):
WARN = 'warn'
ERROR = 'error'
OK = 'ok'
DOWN = 'down'
STATUS_CHOICES = (
(WARN, 'Warn'),
(ERROR, 'Error'),
(OK, 'OK'),
(DOWN, 'Down'),
)
target = models.CharField(max_length=1000)
additional_graph_target = models.CharField(max_length=1000, blank=True)
value = models.DecimalField(max_digits=9, decimal_places=2)
timestamp = models.DateTimeField(db_index=True)
status = models.CharField(max_length=6, choices=STATUS_CHOICES, default='ok')
check = models.ForeignKey(Check, related_name='results')
tags = TaggableManager()
def __unicode__(self):
return self.target
@models.permalink
def get_absolute_url(self):
return ('graphite-check-result-list-view',(), {'pk': self.check.pk, 'target': self.target})
def generate_graphite_image_url(self):
params = { }
params['target'] = []
params['target'].append(self.target)
params['target'].append('threshold(' + str(self.check.warn) + ',"Warn","yellow")')
params['target'].append('threshold(' + str(self.check.error) + ',"Error","red")')
params['from'] = '-7days'
params['width'] = '900'
params['minorGridLineColor'] = 'C0C0C0'
params['majorGridLineColor'] = 'C0C0C0'
params['bgcolor'] = '333333'
request = requests.get(self.check.GRAPHITE_URL+self.check.RENDER_PAGE,params=params)
return urllib2.unquote(request.url.decode('UTF-8'))
def generate_additional_graphite_image_url(self):
params = { }
params['target'] = []
params['target'].append(self.additional_graph_target)
params['target'].append('threshold(' + str(self.check.warn) + ',"Warn","yellow")')
params['target'].append('threshold(' + str(self.check.error) + ',"Error","red")')
params['from'] = '-7days'
params['width'] = '900'
params['minorGridLineColor'] = 'C0C0C0'
params['majorGridLineColor'] = 'C0C0C0'
params['bgcolor'] = '333333'
request = requests.get(self.check.GRAPHITE_URL+self.check.RENDER_PAGE,params=params)
return urllib2.unquote(request.url.decode('UTF-8'))
class Meta:
ordering = ("timestamp",)
unique_together = (("target", "timestamp"),)
Django 1.8 wurde noch nicht veröffentlicht. Bleiben Sie jetzt bei 1.7.X. – Alasdair
Danke! Ich bin gerade fertig mit weiteren Untersuchungen und es scheint, dass die neueren Versionen keine Variablen nach Klassen benannt haben. Ich hatte einen Klassen-Check und eine Variable Check. muss nur herausfinden, wie man sie zusammen arbeiten lässt! Danke für die schnelle Antwort! – Joey