【问题标题】:Learning ManytoMany Field in Django在 Django 中学习多对多字段
【发布时间】:2013-06-23 22:47:00
【问题描述】:

您好,我是 Django 新手,正在编写我的第一个应用程序。我有一个基本模型:

from django.db import models
from django_extensions.db.fields import AutoSlugField

class Tag(models.Model):
    name = models.CharField(max_length=100)
    slug = AutoSlugField(populate_from='name', unique=True)

class Listings(models.Model):
    listing = models.CharField(max_length=50)
    description = models.CharField(max_length=500)
    email = models.EmailField(max_length=75)
    tag = models.ManyToManyField(Tag)
    pub_date = models.DateTimeField(auto_now=True)

def __unicode__(self):
        return self.listing    

我从终端添加了一些标签,但都显示为Tag Object。如何获取要显示的标签名称?

另外,我如何让管理员添加标签,而不是每次都通过终端添加?

非常感谢!

【问题讨论】:

    标签: django many-to-many


    【解决方案1】:

    您在Tag 模型中缺少unicode 属性

    class Tag(models.Model):
        name = models.CharField(max_length=100)
        slug = AutoSlugField(populate_from='name', unique=True)
    
        def __unicode__(self):
            return "%s"% self.name
    

    另外,为Listings 模型修复unicode 块的缩进

    class Listings(models.Model):
        listing = models.CharField(max_length=50)
        description = models.CharField(max_length=500)
        email = models.EmailField(max_length=75)
        tag = models.ManyToManyField(Tag)
        pub_date = models.DateTimeField(auto_now=True)
    
        def __unicode__(self):
            return self.listing    
    

    【讨论】:

    • 另外,你知道我可以如何让管理员添加标签,这样我就不必在终端中添加标签了吗?再次感谢您的帮助!
    猜你喜欢
    • 2013-04-27
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 2021-11-20
    • 2016-02-23
    相关资源
    最近更新 更多