Ich habe versucht, Dokumentation zu folgen, aber ich erhalte immer die Fehlermeldung:Wie bekomme ich eine str von diesem charField?
'issues has no attribute content"
Mein Ziel ist es, dass ich eine temporäre Variable benötigen, um Daten zu halten, bis ich es zu meiner eigentlichen Datenbank-Commit.
Also, beim Lesen des Codes, Inhalt ist im Grunde tmp, und logComments ist, wenn ich es tatsächlich in die Datenbank zu verpflichten. Ich versuche, die Geschichte zu verfolgen, wer was wann bearbeitet hat. Jedoch, immer wenn ich instance.logComments = formIssues.__str__()
rufe, bekomme ich diesen Fehler, obwohl ive eine to-string-Methode definiert. Kann jemand darauf hinweisen, wo ich falsch liege?
class issues(ModelForm):
content = forms.CharField(widget=forms.Textarea,max_length=500, label='')
forms.py
def __str__(self):
return str(self.content)
class Meta:
model = History
fields = ['content']
widgets = {'content': Textarea(attrs={'cols': 50, 'rows': 30})}
labels = {'content': ""}
views.py
formIssues = issues(request.POST or None)
#This is for saving the issues textbox
if request.method == 'POST' and formIssues.is_valid() and 'Submit Issue' in request.POST:
#History.logComments = formIssues
instance = formIssues.save(commit=False)
instance.logComments = formIssues.__str__()
instance.projectID = 1337
instance.userID = request.user
instance.commentType = "Issue"
instance.save()
models.py
class History(models.Model):
projectID = models.IntegerField()
userID = models.CharField(max_length=10)
logComments = models.TextField(max_length=500, default='')
commentType = models.CharField(max_length=20, default ='')
timeStamp = models.DateTimeField(auto_now_add=True, auto_now=False)
Warum nicht einfach von den gesäuberten Daten wie gewohnt? – Sayse
Ich bin neu in Django, können Sie bitte erarbeiten? Ich habe das Konzept der gereinigten Daten gehört, aber ich verstehe es nicht wirklich. – Sean
Es wird ausführlich in den [docs] (https://docs.djangoproject.com/en/1.9/topics/forms/) behandelt. – Sayse