জ্যাঙ্গো অ্যাডমিন মিন্টো টোম্যানির ইনলাইনটিতে ত্রুটির "বিদেশী কে নেই"


92

আমি নিম্নলিখিত মডেলগুলিতে জ্যাঙ্গো অ্যাডমিন সেট আপ করছি:

class Quote(models.Model):                                                  
    author = models.CharField(max_length=100)                               
    quote = models.CharField(max_length=1000)                               
    tags = models.ManyToManyField('Tag')                                    

class Tag(models.Model):                                                    
    name = models.CharField(max_length=100)                                 

নিম্নলিখিত কোড সহ:

class TagInline(admin.TabularInline):                                                                                               
    model = Tag                                                             

class QuoteAdmin(admin.ModelAdmin):                                         
    list_display = ('author', 'quote')                                      
    inlines = (TagInline,)                                                  

class TagAdmin(admin.ModelAdmin):                                           
    pass                                                                    

admin.site.register(Quote, QuoteAdmin)                                      
admin.site.register(Tag, TagAdmin)

অ্যাডমিন পৃষ্ঠাটি যুক্ত করতে চেষ্টা করার সময় Quote, পৃষ্ঠাটি একটি ত্রুটি বলে দেখায় <class 'quotes.models.Tag'> has no ForeignKey to <class 'quotes.models.Quote'>। আমি কোনও ইনলাইন যুক্ত করার আগে এটি ঘটেনি। সমস্যা কি? আমি কীভাবে সঠিকভাবে Tagএকটি ইনলাইন হিসাবে যুক্ত করব ?

(আমি উত্তরের জন্য অনুসন্ধানের জন্য 20 মিনিট সময় ব্যয় করেছি; আমি একই রকম প্রশ্ন পেয়েছি তবে তাদের উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি))


উত্তর:


154

অ্যাডমিন ডকুমেন্টেশনের একটি বিভাগ রয়েছে যা বহু থেকে বহু সম্পর্কের সাথে অন্তর্ভুক্ত থাকে। আপনার নিজের পরিবর্তে Quote.tags.throughমডেল হিসাবে ব্যবহার করা উচিত ।TagInlineTag


যদি আমার কাছে এমন একটি মডেল থাকে যা অনেকগুলি manytomany fieldথাকে তবে এর অর্থ প্রত্যেকের জন্য এটির প্রয়োজন Inlineএবং সেগুলি আলাদা?
সিনুক্স

4
@ রম্যাট বিপরীত বহু-থেকে-বহু সম্পর্কের জন্য model = Tag.quote_set.related.through
মানহ তাই

ডিবিতে খুব সম্ভাব্য সারি তালিকাভুক্ত করার পরিবর্তে কোনও মডেলকে কাঁচা আইডি ক্ষেত্র হিসাবে প্রদর্শিত করার কৌশল আছে কি?
mlissner

এবং এই কারণেই আমি জ্যাঙ্গোকে ভালবাসতে শুরু করি
ড্যানিয়েল ডাব্লু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.