我正在使用django 1.10编写博客应用
这是我的对象模型的片段:
model.py
https://api.github.com/search/repositories?q=githubSearchQueryValue&sort=stars
(简化)admin.py:
class Attachment(models.Model):
title = models.CharField(max_length=50)
image = models.ImageField(upload_to='attachments')
class FileAttachments(models.Model):
title = models.CharField(max_length=50)
attachments = models.ManyToManyField(Attachment)
class Post(models.Model):
title = models.CharField(max_length=200)
text = models.CharField(max_length=2000)
file_attachments = models.ForeignKey(FileAttachments, blank=True, null=True)
slug = models.SlugField(max_length=40, default='', unique=True)
author = models.ForeignKey(User, default=1)
pub_date = models.DateTimeField(blank=True, null=True)
def get_absolute_url(self):
return "/blog/%s/%s/%s/%s/" % (self.pub_date.year, self.pub_date.month, self.pub_date.day, self.slug)
def __unicode__(self):
return self.title
class Meta:
verbose_name = "Blog Post"
verbose_name_plural = "Blog Posts"
ordering = ["-create_date"]
permissions = (
( "create", "Create Post" ),
( "modify", "Modify Post" ),
( "delete", "Delete Post" ),
)
当我尝试通过管理页面访问Post对象时 - 在列表视图中,我只看到'发布对象' - 虽然我想看帖子的标题(可能还有Post对象的一些其他属性) - 如何修改管理视图来实现这个目标?
答案 0 :(得分:0)
在Post类中更改__unicode__
的{{1}}并打印您想要的内容。例如:__str__
。
您的帖子模型只包含一个通过外键的附件。这样就无法上传多个文件。换句话说,您必须更改模型,例如,在与Post相关的FileAttachments中包含一个键,并从Post模型中删除该键。
希望这有帮助。
答案 1 :(得分:0)
对于您的第一个问题 - 您需要在PostAdmin
中定义list_display,如下:
class PostAdmin(admin.ModelAdmin):
prepopulated_fields = {"slug": ("title",)}
exclude = ('author',)
list_display = ('title', 'pub_date')
至于你的第二个问题 - 请坚持一个帖子,一个问题'规则;提示 - ForeignKey
表示只有一个FileAttachment可以与您的帖子相关。