django如何在admin增加一个对象联运

class dep(models.Model):
name = models.CharField(max_length=128)

class user(models.Model):
name = models.CharField(max_length=128)
dep = models.ForeignKey(dep)

class record(models.Model):
name = models.ForeignKey(user)
a = models.CharField(max_length=128)
b = models.CharField(max_length=128)
c = models.CharField(max_length=128)

在record表增加记录时 增加一个dep和user的联动 通过点dep过虑下面的user 最终取用户id
保存在表中

第1个回答  2016-07-20
admin 也是一个 app ,跟我们创建的 app 没什么两样,只不过它是系统所有的。
如果要使用的话,按下面的步骤就可以了。
1. 在 settings.py 的 INSTALL_APPS 元组里添加一行:
‘django.contrib.admin’,

每次添加新应用后,都要运行一下 syncdb 创建数据表。但是我们还要用 admin 来管理其他应用( CURD 操作),所以留在后面再运行 syncdb 。
2. 在 urls.py 中去掉
# url(r'^admin/', include(admin.site.urls)),
这一行的注释,这样就告诉 django 去加载默认的 admin 站点。
3. 前面我们说了,用 admin 来管理应用,所以我们就要在 admin 中注册该应用的模型 models 。
注册 models 有两种方式。
第一种方式:使用 admin.site.register(ModelClass)
这种方式会使用默认的 admin 接口。
比如:
from django.contrib import admin
from myproject.myapp.models import Author

admin.site.register(Author)

第二种方式:使用 admin.site.register(ModelClass, AdminClass)
这种方式可以自定义行为。
比如:
from django.contrib import admin
from myproject.myapp.models import Author
class AuthorAdmin(admin.ModelAdmin):
pass
admin.site.register(Author, AuthorAdmin)

更详细的说明请看官方文档

这三板斧抡完,运行 python manage.py syncdb 创建数据表,然后就可以打开 进行登录管理操作了。追问

哎……你能不能看看我问的是什么啊 不要复制粘贴

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网