简体   繁体   中英

Heroku hosted Django model: __str__ returned non-string

this is my first time asking a question on stackoverflow. If some info is missing, just ask and I'll add it.

So I've tried for hours trying to locate what is causing this error. I'm hosting a Django project on Heroku and have an issue with a certain model when trying to render a modelform. Hosting the project on localhost works like a charm, so I'm guessing the issue is Heroku related. Can someone please point me in the right direction? Thx.


Error (1/2): https://i.gyazo.com/e5c08391de2d8a59cce1634872407059.png

Error (2/2): https://i.gyazo.com/0c0b8190d7a0770f9cdef619cd2122b4.png


(Edit)

class Course(models.Model):
    title = models.CharField(max_length=140, null=True, blank=False, default="")
    lead = models.ForeignKey('accounts.User', on_delete=models.SET_NULL, null=True, blank=True, related_name="male_courses")
    follow = models.ForeignKey('accounts.User', on_delete=models.SET_NULL, null=True, blank=True, related_name="female_courses")
    date = models.DateField(null=True, blank=True)
    start = models.DateTimeField(null=True, blank=True)
    end = models.DateTimeField(null=True, blank=True)
    comments = models.TextField(null=True, blank=True, default="")
    place = models.CharField(max_length=140, null=True, blank=True, default="")
    tags = models.ManyToManyField('videos.VideoTag')

    def __str__(self):
        return "course"
        # return "{} ({})".format(self.getTitle(), self.getDate())

    def getTitle(self):
        return self.title or None

    def getDate(self):
        try: return self.date.strftime("%d.%m.%y")
        except: return None


class CourseForm(forms.ModelForm):
    tags = forms.ModelMultipleChoiceField(queryset=VideoTag.objects.all(), widget=FilteredSelectMultiple(verbose_name="tags", is_stacked=False), required=False)
    date = forms.DateField(input_formats=DATE_FORMATS, required=False)
    start = forms.DateTimeField(input_formats=TIME_FORMATS, required=False)
    end = forms.DateTimeField(input_formats=TIME_FORMATS, required=False)

    class Media:
        css = {
            'all': ['admin/css/widgets.css'], # 'css/uid-manage-form.css'
        }
        # Adding this javascript is crucial
        js = ['/admin/jsi18n/']

    class Meta:
        model = Course
        exclude = []
        labels = {
            'title': 'Tittel',
            'lead': 'Fører',
            'follow': 'Følger',
            'date': 'Dato',
            'start': 'Start',
            'end': 'Slutt',
            'comments': 'Kommentarer',
            'place': 'Sted',
            'tags': 'Tags',
        }


My mistake. The issue was solved by resetting database and migrate tables over again.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM