मैं Django में एक ऑनलाइन स्टोर (सिर्फ एक बुनियादी खरीदारी अभी गाड़ी) पर काम कर रहा हूँ के रूप में अज्ञात उपयोगकर्ताओं ही कार्यक्षमता देते हैं, और मैं (उन पसंदीदा के रूप में आइटम चिह्नित करने के लिए के लिए कार्यक्षमता जोड़ने के लिए बस की तरह की योजना बना रहा हूँ स्टैक ओवरफ्लो में)। कार्ट के लिए मॉडल इस तरह कुछ दिखते हैं:पंजीकृत कराए
class Cart(models.Model):
user = models.OneToOneField(User)
class CartItem(models.Model):
cart = models.ForeignKey(Cart)
product = models.ForeignKey(Product, verbose_name="produs")
पसंदीदा मॉडल दो पंक्तियों के साथ एक तालिका होगी: उपयोगकर्ता और उत्पाद।
समस्या यह है कि यह केवल पंजीकृत उपयोगकर्ताओं के लिए काम करेगा, क्योंकि मुझे उपयोगकर्ता ऑब्जेक्ट की आवश्यकता है। मैं अनियंत्रित उपयोगकर्ताओं को इन सुविधाओं का उपयोग करने, कुकीज/सत्र में डेटा को सहेजने, और जब वे पंजीकरण करने का निर्णय लेते हैं, तो डेटा को उनके उपयोगकर्ता को कैसे स्थानांतरित कर सकते हैं?
मुझे लगता है कि एक विकल्प सामान्य प्रकार के सामान्य संबंध होंगे, लेकिन मुझे लगता है कि यह जटिल है। हो सकता है कि उपयोगकर्ता के बाद एक अतिरिक्त पंक्ति हो, जो एक सत्र वस्तु है (मैंने वास्तव में अब तक django में सत्रों का उपयोग नहीं किया है), और यदि उपयोगकर्ता किसी के लिए सेट नहीं है, तो इसका उपयोग करें?
तो मूल रूप से, मैं क्या पूछना चाहता हूँ, अगर आप इस समस्या से पहले मिला है, आप इसे कैसे हल किया, क्या सबसे अच्छा तरीका हो सकता है है?
+1: अज्ञात उपयोगकर्ताओं के पास अभी भी आईपी पते हैं जिनका उपयोग बिना किसी पासवर्ड के आवश्यक टेम्पल उपयोगकर्ता आईडी बनाने के लिए किया जा सकता है। जब वे पंजीकरण करते हैं तो आप वास्तव में उन्हें उचित नाम और पासवर्ड रखने के लिए अपग्रेड कर रहे हैं। –
अच्छा विचार, मैंने इसके बारे में नहीं सोचा था। धन्यवाद! –
आईपी पता एक अद्वितीय कुंजी के रूप में इस्तेमाल नहीं किया जा सकता है। फ़ायरवॉल एनएटी के पीछे कई उपयोगकर्ताओं को सोचें। – tzot