मेरे पास django में एक मॉडल है जिसमें उपयोगकर्ता मॉडल के साथ विदेशीकी है।मैं _delete विशेषता का उपयोग कर उपयोगकर्ता मॉडल के साथ विदेशीकी फ़ील्ड में उपयोगकर्ता का पूरा नाम कैसे सेट कर सकता हूं?
class News(models.Model):
user = models.ForeignKey(AUTH_USER_MODEL, on_delete=models.SET(???))
message - models.TextField()
तो जब कोई उपयोगकर्ता खाता डेटाबेस से हटा देता है तो समाचार तालिका प्रविष्टियों में भी उपयोगकर्ता के अनुसार हटा दिया जाता है। इसलिए मैं मैं का उपयोग कर उपयोगकर्ता क्षेत्र में उसकी/उसके पूरे नाम निर्धारित करने की आवश्यकता जब किसी भी उपयोगकर्ता खाता फिर हटा दिया है कि चाहते 'on_delete=models.SET(???)'
उदाहरण:
अगर मैं उपयोगकर्ता कि FIRST_NAME = 'नीरज' और last_name है = 'कुमार' जब मैं उस उपयोगकर्ता खाते को हटाना चाहता हूं तो समाचार तालिका में मैं उसका नाम सहेजना चाहता हूं।
हालांकि यह एक अच्छा समाधान है, जैसा कि यह खड़ा है, विदेशी कुंजी कोई उद्देश्य नहीं देती है। हां, रिवर्स रिलेशनशिप है, लेकिन आपको "लेखक नाम द्वारा पोस्ट ढूंढें" को लागू करना होगा और उन चीज़ों के लिए अतिरिक्त तर्क जोड़ें जिन्हें हटाए गए लेखक के लिए अब संभव नहीं है। सबसे अच्छा समाधान उपयोगकर्ताओं को हटाने की अनुमति नहीं देना है, लेकिन उन्हें निष्क्रिय करें। यही कारण है कि उपयोगकर्ता मॉडल पर 'is_active' है। – Melvyn