我有一个遗留数据库,其中包含文档和作者的表格。第三个表定义了文档和作者之间有序的多对多关系,使用文档和作者的外键以及指定给定文档的作者顺序的整数。
使用Django 1.1.1(或SVN),有没有办法在管理页面中编辑文档作者及其顺序?
答案 0 :(得分:5)
这很快,有点粗糙,但它应该让你接近(r)。
from django.db import models
from django.contrib import admin
class Document(models.Model):
name = models.CharField(max_length = 128)
def __unicode__(self):
return self.name
class Author(models.Model):
name = models.CharField(max_length = 128)
document = models.ManyToManyField(Document, through = 'Foo')
def __unicode__(self):
return self.name
class Foo(models.Model):
document = models.ForeignKey(Document)
author = models.ForeignKey(Author)
author_order = models.IntegerField()
class FooInline(admin.TabularInline):
model = Foo
class DocumentAdmin(admin.ModelAdmin):
inlines = [ FooInline ]
admin.site.register(Author)
admin.site.register(Document, DocumentAdmin)
http://docs.djangoproject.com/en/dev/topics/db/models/#intermediary-manytomany http://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-objects
答案 1 :(得分:0)
这也可以帮助你 - 在Django中为there is some utility构建旧数据库的模型。
我使用它为mediawiki数据库构建了一个模型。大部分事情都是正确的,但你需要稍微调整模型。