मैं Edit/Update
कोशिश कर रहा हूँ एक मॉडल वस्तु (रिकार्ड) Django Updateview
को छोड़कर खेतों से अद्यतन दृश्य Django के साथ मॉडल वस्तु का संपादन
model.py का उपयोग कर
from django.db import models
from myapp.models import Author
class Book(models.Model):
author = models.ForeignKey(Author)
book_name = models.CharField(max_length=260)
amount = models.DecimalField(
max_digits=10, decimal_places=2, default=0.00)
description = models.TextField()
views.py
class BookEditView(generic.UpdateView):
model = Book
template_name_suffix = '_update_form'
exclude = ('author',)
def get_success_url(self):
return reverse("books:list_of_books")
books_update_from। एचटीएमएल
{% extends "base.html" %}
{% block main_title %}Edit Book{% endblock %}
{% block content %}
<form method="post" action="" class="form-horizontal">
{{form.as_p}}
</form>
{% endblock %}
जब प्रपत्र प्रदान की गई है, Author
विदेशी क्षेत्र अभी भी पृष्ठ पर प्रदर्शित कर रहा है, भले ही मैं ऊपर
ताकि क्षेत्र छिपाने के लिए और प्रस्तुत करने के लिए कैसे के रूप में BookEditview
में exclude
में यह उल्लेख किया था प्रपत्र ?
इसके अलावा मैंने form.book_name
, form.amount
आदि जैसे व्यक्तिगत फ़ील्ड को प्रस्तुत करके कोशिश की, (मुझे पता है कि यह दृष्टिकोण उपरोक्त मुद्दे को हल नहीं करता है बल्कि मूर्खतापूर्ण प्रयास देता है)। जब मैं फॉर्म जमा करता हूं, तो उसकी कार्रवाई लापरवाह है और कुछ भी नहीं करती है क्योंकि हम author foreign key value
सबमिट नहीं कर रहे हैं और इसलिए फॉर्म अमान्य है और सबमिट कुछ भी नहीं करता
तो मैं क्या जानना चाहता हूं कि फ़ील्ड को कैसे बाहर निकालना है मॉडल जब UpdateView
का उपयोग कर मॉडल को संपादित करने के लिए एक फार्म के रूप में प्रस्तुत होने से (मैं अपने कोड में कुछ ऊपर गलत किया है?)
इसके अलावा मैं चाहता हूँ Updateview
की अवधारणा को पता है तो यह है कि अगर हम foreignKey
क्षेत्र बाहर किए जाने वाले विदेशी कुंजी मान जमा करने की आवश्यकता है? (क्योंकि संपादन फ़ॉर्म केवल तभी मान्य होगा जब Author Foreign Key
समेत प्रत्येक फ़ील्ड मान के साथ सबमिट की गई हो?)
में इस फार्म का उपयोग: जवाब देने के लिए धन्यवाद, कश्मीर वहाँ जब हम पर क्लिक करें विदेशी कुंजी मान प्रस्तुत करने के लिए किसी भी तरह से है जमा करें ? मेरा मतलब है कि हम इस व्यवहार को form_data या कुछ तरीकों से ओवरराइड कर सकते हैं? –
यदि आप लेखक को बदलना चाहते हैं तो आप 'form_valid' विधि को ओवरराइड कर सकते हैं। दस्तावेज़ों से [इस उदाहरण] (https://docs.djangoproject.com/en/1.5/topics/class-based-views/generic-editing/#models-and-request-user) देखें। अन्यथा, मुझे यकीन नहीं है कि आपका क्या मतलब है - जब आप जानबूझकर इसे फॉर्म से बाहर रखते हैं तो आप मूल्य क्यों सबमिट करना चाहते हैं? – Alasdair
क्षमा करें मेरा मतलब यह है कि अगर हमने इसके लिए एक फॉर्म क्लास नहीं लिखा है। वैसे भी मुझे उपरोक्त उत्तर से समाधान मिला है, लेकिन अगर हम एक फॉर्म क्लास नहीं बनाये हैं तो आगे बढ़ना चाहते हैं? विदेशी क्षेत्र को कैसे बाहर निकालना है क्योंकि बहिष्करण अपडेटव्यू –