2012-07-20 35 views
6

Tôi khá mới với điều này, xin lỗi nếu tôi không rõ ràng ..."Thêm mới" vào trường khóa ngoài trong django modelform

chạy django, với bootstrap, và tôi đã không quan tâm với django -bootstrap. BootstrapModelForm là khá mát mẻ, tôi đã không bao gồm các công cụ django-bootstrap trong ví dụ của tôi, nhưng tôi mặc dù tôi nên lưu ý.

tôi có các mô hình:

class spam(models.Model): 
    name = models.CharField() 

class Eggs(models.Model): 
    spam = models.ForiegnKey('spam') 

tôi sử dụng một ModelForm, một cái gì đó như:

class EggsForm(forms.ModelForm): 
    meta: 
     model=Eggs 

EggsForm cho phép lựa chọn trong đó rác sẽ được tham chiếu bởi trứng. Tôi nhận thấy giao diện quản trị có một cách hay để chọn hoặc thêm một quả trứng khác.

Làm cách nào để có được chức năng tương tự vào biểu mẫu tạo của tôi?

Trả lời

1

Tại sao không sử dụng biểu mẫu chuẩn (không phải là ModelForm) cho điều này? Thêm "thêm mới" làm tùy chọn bổ sung và bắt nó trong phương thức clean() của biểu mẫu nơi bạn nên tạo đối tượng mới, chuyển hướng đến một biểu mẫu khác, v.v.

0

Trong mẫu của bạn, bạn có thể thêm mới (hoặc " + nút "", có thể chuyển hướng hoặc hiển thị cửa sổ bật lên hoặc nội dung tương tự hiển thị biểu mẫu khác để thêm Egg mới.

+0

Tôi nghĩ rằng câu hỏi là làm thế nào bạn sau đó sẽ dễ dàng nhận được mới được tạo ra 'thư rác' vào' EggsForm' của bạn ... –

1

Một chút muộn, nhưng tôi đi qua SO câu hỏi này trong khi tìm kiếm một giải pháp và với một số chuyến phiêu lưu internet nhiều hơn, tôi tìm thấy các hướng dẫn tại liên kết này mà là tuyệt vời và nó chính xác whay được hỏi: http://www.hoboes.com/Mimsy/hacks/replicating-djangos-admin/

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