0

configuration在 Django 中有一个模型,并希望在该字段中填写此author字段get_username 可以在模型中完成还是必须从表单中完成?如果它必须在表单上,​​我如何更改标准管理页面以具有此功能?目前,该模型是这样写的:

class Configuration(models.Model):

title = models.CharField(max_length=100,unique=True,blank=False)
author = models.CharField(max_length=50,blank=False)

created = models.DateTimeField("date created",auto_now_add=True)
modified = models.DateTimeField("date modified",auto_now=True)
description = models.CharField(max_length=512)
drawing =  models.ForeignKey(Drawing)
instruments = models.ManyToManyField(Instrument)

def __unicode__(self):
    return self.title
4

3 回答 3

3

使用models.ForeignKey

#models.py
from django.contrib.auth.models import User
class Configuration(models.Model):
    author = models.ForeignKey(User)
    ...

#admin.py:
class Configuration_admin(admin.ModelAdmin):
    fields = ('title', 'author',....)
于 2013-07-30T11:17:02.283 回答
0

类似的东西:

from django.contrib.auth.models import User

class ...
    ...
    username = models.ForeignKey(User)
于 2013-07-30T11:16:00.257 回答
0

如果您想在您的模型和默认用户模型之间建立某种关系,那么您可以将用户模型扩展为您自己的自定义模型,如下所示:

模型.py

from django.contrib.auth.models import User

class Configuration(models.Model):
   author = models.OneToOneField(User)
   ..
   ..
于 2013-07-30T11:18:37.770 回答