【发布时间】:2012-02-25 11:50:34
【问题描述】:
我有一个模特models.py:
class MyModelClass(models.Model):
name = models.CharField(max_length=255)
m2m_1 = models.ManyToManyField(A, blank=True, null=True)
m2m_2 = models.ManyToManyField(B, blank=True, null=True)
fk = models.ForeignKey('C')
int = models.IntegerField()
还有一个admin.py 类:
class MyModelClassAdmin(admin.ModelAdmin):
list_display = ('name',)
#Get all fields selected in MyModelClass m2m_2
def get_selected_in_m2m_2(self, obj):
sel = obj.m2m_2.all() #This line is the one for i get an error. The error is described below.
return sel
def save_model(self, request, obj, form, change):
"""When creating a new object, set the creator field.
"""
m2m_2_selected = self.get_selected_in_m2m_2(obj)
print m2m_2_selected
print request.user
if not change:
obj.creator = request.user
obj.save()
问题:
如果我在我的管理页面中单击已经 existing MyModelClass 的对象上的“保存”按钮,一切正常。
但是,如果我尝试在管理页面中创建一个新模型对象并单击“保存”按钮(保存新对象,而不是更新现有对象),我会收到错误消息:@ 987654325@
对不起我的英语不好。
任何帮助表示赞赏。
谢谢。
【问题讨论】:
标签: django django-models django-admin