class dbview(models.Model):
# field definitions omitted for brevity
class Meta:
db_table = 'read_only_view'
def main(request):
result = dbview.objects.all()
Caught wyjątek podczas renderowania: (1054, "Nieznana kolumna 'read_only_view id' w 'liście pól'")Django: Zapytania tylko do odczytu zobaczyć bez klucza podstawowego
Jest brak klucza podstawowego Widzę w widoku. Czy jest w pobliżu praca?
Komentarz:
Nie mam kontroli nad widokiem, do którego uzyskuję dostęp za pomocą Django. Przeglądarka MySQL wyświetla tam kolumny, ale nie ma klucza głównego.
Dziękuję bardzo, to jest naprawdę bardzo pomocne! – dmi
Bardzo pomocny. Jedna rzecz do dodania; jeśli kolumna, której chcesz użyć dla klucza podstawowego, jest typu CHAR, nie może być dłuższa niż 255 znaków. –
To naprawdę nie rozwiązuje problemu, który dotyczy widoku db, a nie tabeli. Podałeś jedno ze swoich pól jako pk dla django, niezależnie od tego, czy jest, czy nie. Możesz tego uniknąć, ponieważ nigdy nie będzie żadnego wstawienia/aktualizacji relacji przez ORM. Zobacz [odpowiedź od Davida S] (http://stackoverflow.com/a/11594959/519015) i mój komentarz na ten temat, aby dowiedzieć się więcej o tej technice. –