2015-05-27 32 views
5

Tôi có ứng dụng Django 1.8 với cơ sở dữ liệu PostgreSQL. Tôi chạy inspectango django từ dòng lệnh để kiểm tra các mô hình cho các quan điểm, nhưng các quan điểm không hiển thị trong đầu ra mô hình.Lệnh Django 1.8 inspectdb không nhìn thấy khung nhìn PostgreSQL theo tài liệu

Dưới đây là phiên bản đầu ra:

17:36 $ python well/manage.py --version 
1.8.2 

Và đây là những gì psql thấy:

\dv 
       List of relations 
Schema |    Name    | Type | Owner 
--------+-------------------------------+------+--------- 
public | hospitalizations_over_30_days | view | dwatson 
public | interval_30_days    | view | dwatson 
(2 rows) 

Từ django 1.8.2 tài liệu:

New in Django 1.8: 
A feature to inspect database views was added. In previous versions, only tables (not views) were inspected. 

Làm thế nào tôi có thể nhận được PostgreSQL quan điểm xuất hiện trong đầu ra kiểm tra 1.9db Django?

+0

bất kỳ thành công nào tìm được giải pháp? –

+0

bạn đã từng làm việc này chưa? –

+1

Không, tôi không tìm được giải pháp. –

Trả lời

0

Tính đến Django 1.10, bạn chỉ có thể đặt tên cho một cái nhìn cá nhân như một tham số cho lệnh inspectdb của bạn:

$ python well/manage.py inspectdb hospitalizations_over_30_days 

Giá trị mặc định inspectdb sẽ chỉ ra models.py cho các bảng, nhưng các mô hình cho quan điểm có thể được tạo riêng bằng cách đặt tên cho chúng.

Nếu bạn muốn inspectdb để tạo mô hình cho tất cả các bảng lượt xem theo mặc định, bạn phải chỉnh sửa nguồn thành Django. Trong Django 2.0, thay đổi line 57 in django/core/management/commands/inspectdb.py tới:

tables_to_introspect = options['table'] or connection.introspection.table_names(cursor=cursor, include_views=True) 

Ngoài ra, hãy cẩn thận rằng mô hình sẽ không có một lĩnh vực với primary_key=True thiết lập, bạn sẽ cần phải thêm một khóa chính bằng tay.

Các vấn đề liên quan