문제

$ template_dir/sql/$ tomesablename.sql 파일의보기에 대한 정의를 삽입했습니다. (보기 만들거나 교체) 실행할 때마다 syncdb, DB보기가 생성됩니다.

Models.py에서 해당보기에 액세스하는 Python 클래스에서 만들 수 있습니까?

대신 Python의 원시 SQL 기능 만 사용하는 것이 더 나은 연습입니까?

---편집하다---

내가 가진 또 다른 문제는보기에 기본 키가 없지만 장고는 오류가 발생하여 하나가 있다고 가정하는 것 같습니다. caught an exception while rendering: (1054, "Unknown column 'appName_currentleagues.id' in 'field list'") 그러나 나는 그러한 회원이 정의되어 있지 않습니다.

Class CurrentLeagues(models.Model):
        League = models.ForeignKey(League)
        class Meta:
                managed = False

그래서 내 추측은 Django가 현재 리저 클래스에서 기본 키를 정의하지 않는다는 것을 합리적으로 본다는 것입니다. id. Django에게 기본 키가 없다고 말할 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

보다 관리되지 않는 모델

모델을 평소처럼 정의하고 추가합니다 managed = False 메타 옵션으로 :

class MyModel(models.Model):
    ...
    class Meta:
         managed = False

다른 팁

python manage.py despectdb 또는 python manage.py despectdb> models.py를 사용해보십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top