클라이언트 지향 기능을 위해 PHP를 사용하는 사이트의 관리자 패널로 장고 (특히 django-admin)를 사용하고 있습니다. 나는 관리자가 내가 원하는 방식으로 그리고 지금까지 그렇게 훌륭하게 보이도록 만드는 것을 어지럽 혀왔다. 그러나 나는 해결해야 할 몇 가지 문제를 겪었다.django-admin의 레코드 업데이트 관련 문제
class Permissions(models.Model):
id = models.IntegerField(primary_key=True)
league_key = models.CharField(max_length=15)
commissioner_id = models.ForeignKey(Accounts, db_column='commissioner_id',
to_field='id')
status = models.IntegerField()
key = models.CharField(max_length=50)
publisher_key = models.CharField(max_length=25)
publisher_display_name = models.CharField(max_length=50)
base_league = models.ForeignKey('self', db_column='id')
share = models.IntegerField()
default_fixture_key = models.CharField(max_length=50)
def __unicode__(self):
return self.publisher_key + '/' + self.league_key
class Meta:
db_table = u'permissions'
verbose_name = 'Permissions'
verbose_name_plural = 'Permissions'
class PermissionsAdmin(admin.ModelAdmin):
list_display = ('league_key', 'publisher_key', 'commissioner_id', 'status',
'base_league', 'share', 'default_fixture_key')
list_display_links = ('league_key','commissioner_id', 'base_league')
exclude = ('id',)
첫 번째 문제는 필요에 따라 기존 레코드를 편집하기위한 관리 양식 필드 중 하나를 표시된다는 점이다 :
는 여기에 내가 함께 일하고 있어요 모델입니다. django-admin에게 필드가 필요하고 필요하지 않을 때 어떻게 말합니까?두 번째 문제는 내가이 레코드를 저장할 때 다음 오류가 발생한다는 것입니다. 중복 키 값이 고유 한 제약 조건 "permissions_pkey"을 위반합니다. 그건 내가 장고가 업데이트를하지 않고 있다고 생각하게한다. INSERT를하려고한다.
이것은 PostgreSQL과 관련된 문제일지도 모른다. permissions_pkey는 해당 테이블의 제약 조건이며 해당 테이블의 ID를 자동 증가시키는 데 사용되는 시퀀스를 추적합니다.
Django 문서는 훌륭하지만이 정보를 필요로하지 않습니다 .
(편집 : 스택 추적에 파고, 나는이 멋진 작은 덩어리 발견 : 날 리드
sql
'UPDATE "permissions" SET "league_key" = E\'l.1258472565 \', "commissioner_id" = 7,
"status" = 0, "key" = E\'cfcd208495d565ef66e7dff9f98764da \',
"publisher_key" = E\'chrishartjes.com \',
"publisher_display_name" = E\'Chris Hartjes Free Press \',
"id" = 744, "share" = 0,
"default_fixture_key" = E\'\' WHERE "permissions"."id" = 745 '
는 자체 내 작은 외래 키는 항목이 문제를 일으키는 것으로 생각하는)를
질문을 편집하고 모든 HTML 태그를 제거했습니다. 'class Meta'가 정확하게 들여 쓰기되어 있는지 확인해 주시겠습니까? –
예, 죄송합니다. – GrumpyCanuck