模型值在数据库中保存为对象 (<Model_Name object>) 而不是简单值

Model values saved as object ( <Model_Name object>) in DB rather than simple values

我有一个名为 Love 的模型作为

class Love(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    ans = models.CharField(max_length=1024)

和一个ModelForm

class LoveForm(forms.ModelForm):
    class Meta:
        model = Love
        fields = ('ans',)

显示此表单并将数据保存在数据库中的观点是

def love_form(request):
#user can input as my answers he wants to thats wht multiple times rendering the same template

    form = LoveForm()
    if request.method == 'POST':
        form = LoveForm(request.POST)
        if form.is_valid():
            answer = form.save(commit=False)
            answer.user = request.user
            answer.save()
            return render(request, 'purpose_using_DB/love_form.html', {'form': form, 'message': 'Successfully Saved'})
        else:
            return render(request, 'purpose_using_DB/love_form.html', {'form': form, 'message': 'Error Occured'})
    else:
        return render(request, 'purpose_using_DB/love_form.html', {'form': form})

但问题是 admin.site.register(Love) 之后保存在数据库中的数据显示为对象而不是 ans

这正常吗?为什么它不在管理中显示像 ans=something 这样的值?

django admin 不知道如何将对象表示为字符串,所以你应该自己处理它(当前行为是正确的)

从自定义开始 list_display

class LoveAdmin(admin.ModelAdmin):
    list_display = ["user", "ans"] 
    # other stuff

结果它将在管理页面中显示一个漂亮的 table 两列(用户和答案)