内联管理表单中的自定义字段视图

Custom Field view in inline admin form

我正在使用内联模型管理和多对多关系。我有两个模型 类 User 和 Videodata,我 link 将它们与多对多关系进行了编辑。以下是我的模型

class User(models.Model):
    user_id = models.CharField(max_length=40,unique=True)
    user_name = models.CharField(max_length=40)
    user_email = models.EmailField()
    user_city = models.CharField(max_length=40)
    videos_watched = models.ManyToManyField('VideoData', through='WatchedVideo')
    class Meta:
        ordering = ['user_id']
        verbose_name = 'User MetaData'
        verbose_name_plural = 'Users MetaData'
    def __unicode__(self):
        return self.user_id

class VideoData(models.Model):
    video_id = models.CharField(max_length=40,unique=True)
    video_name = models.CharField(max_length=40) 
    class Meta:
        verbose_name = 'User_Video MetaData'
        verbose_name_plural = 'Users_Video MetaData'
    def __unicode__(self):
        return self.video_id

class WatchedVideo(models.Model):
    user = models.ForeignKey(User, to_field = 'user_id')
    videoData = models.ForeignKey(VideoData, to_field = 'video_id')
    time  = models.PositiveIntegerField(null = True)

在用户 table 中,我看到了视频数据,但有 video_id,但我希望 video_name 显示在那里。我附上了当前输出的 link。

https://drive.google.com/open?id=0B0JOKpp3abpzOFN3LVg0WEs3a0k

你可以在上面的图片中看到视频 ID 在那里,但我想要视频名称。我该怎么做?

您可以将VideoData的方法__unicode__更改为显示名称:

def __unicode__(self):
    return self.video_name

编辑:
添加方法 __str__VideoData:

def __unicode__(self):
    return self.video_id

def __str__(self):
    return self.video_name

我显示的名字有以下变化:

def __unicode__(self):
    return self.video_name

def __str__(self):
    return self.video_id