मैं Django दायरे में नया हूं लेकिन वहां बहुत सारे "जादू" हैं। मैं Django रीस्ट फ्रेमवर्क का उपयोग कर रहा हूं और ऐप बना रहा हूं जो मुफ्त उपयोगकर्ता पंजीकरण की अनुमति देगा। मेरे उपयोगकर्ता को कुछ अतिरिक्त फ़ील्ड चाहिए जो Django उपयोगकर्ता में उपलब्ध नहीं हैं। तो मैं उपयोगकर्ता को विस्तारित करने के लिए googled। वहाँ एक विचार है कि यह इसDjango REST Framework कस्टम उपयोगकर्ता बनाना
class MyUser(models.Model):
user = models.ForeignKey(User, unique=True)
city = models.CharField(max_length=50, blank=True, default='')
यह ठीक है, लेकिन मैं इस serializer
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = MyUser
fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'city')
तो है की तरह कुछ बनाने के द्वारा किया जाना चाहिए है, समस्या यह है कि इस serializer कुछ "जादू" यहाँ करता है । यह पता लगाने की कोशिश करता है कि मॉडल के पास कौन सा क्षेत्र होना चाहिए ... मैं यहां सूचीबद्ध फ़ील्ड वाले उपयोगकर्ता को रखना चाहता हूं, और ये फ़ील्ड उपयोगकर्ता में हैं और 'शहर' नया कस्टम फ़ील्ड है। Serializer नहीं मिलता है कि यह उपयोगकर्ता मॉडल के अंदर देखना चाहिए।
मुझे यहां क्या याद आ रही है? इस धारावाहिक को कैसे बताना है कि मैं उपयोगकर्ता के अंदर कुछ फ़ील्ड चाहता हूं? मुझे उपयोगकर्ता को क्रेते भी करने में सक्षम होना चाहिए।
आप OneToOneField' अपने UserModel संबंध, नहीं 'ForeignKey' के लिए उनके केवल एक ही' हर 'User' उदाहरण के लिए MyUser' हो सकता है के बाद से इस्तेमाल करना चाहिए'। –
'OneToOneField' का उपयोग करें और इस उत्तर का पालन करें और आप जाने के लिए अच्छे हैं: [link] (http://stackoverflow.com/a/28733782/3294412) – musicformellons