在管理界面中 - 是否可以将字段设置为只读,还可以设置值?例如,我正在建立一个CRM,一个组织将有一个程序。我希望创建程序的用户始终使用他们所属的组织。
示例:
程序 名称 organizationId
用户 名称 organizationId
我希望代码类似于
class Program(models.adminmodel):
readonly = ["organization"]
organization = user.organization
类组织(models.Model):
name = models.CharField(max_length=100)
street = models.CharField(max_length=100)
city = models.CharField(max_length=100)
state = models.ForeignKey(State)
phone = models.CharField(max_length=100)
zipcode = models.CharField(max_length=100)
def __str__(self):
return self.name
class OrganizationUser(models.Model):
organization = models.ForeignKey(Organization)
user = models.ForeignKey(User)
def __str__(self):
return self.name
用户与django中的默认表格相同
答案 0 :(得分:2)
是的,您可以将管理员字段设为只读
class MyAdmin(admin.ModelAdmin)
fields = ("organization", "field2")
readonly_fields = ("organization", )
def save_model(self, request, obj, form, change):
obj.organization = request.user.organization
obj.save()