I am very new to Django.  I have followed the tutorial and instruction in 
document and create a couple models: Student and Course.

Student has Course as "RelatedObjectsDescriptor"
Course has Student as ForeignKey

*Course is *TabularInline object of Student.

I was able to create Student object and add Courses Objects to student in 
Admin page succeessfully.

Since I have a lot of student records and each student have number of 
course assigned.  I would like to create a python script either using 
Sqlite interface or object in view to populate the database with these 
records.

What I have done are the following:

student = Student.objects.create(...)


for each course:

    course = Course.objects.create(...)

    student.courses.add(course)

    student.courses.connect(course)

When I view the database,  all students were added and all the course were 
added to the appropriate student;  However when I view in record in the admin 
page (change/update), none of the courses show as inline objects.


If I add the course to the student via admin page, they all show up correctly.


Any help is greatly appreciated.



I am using Django 1.6


with the following APPs

    'autocomplete_light',
    'navigation_autocomplete',
    'genericm2m',


models.py

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

    student = models.ForeignKey('Student', null=True, blank=True)

    def __str__(self):
        return (self.name)
class Student(models.Model):
    name = models.CharField(max_length=100)
    courses = RelatedObjectsDescriptor()

    def __str__(self):
        return (self.name)


forms.py

class StudentForm(autocomplete_light.ModelForm):
    class Meta:
        model = Student
        exclude = ()
class CourseForm(autocomplete_light.ModelForm):
    class Meta:
        model = Course
        exclude = ()

admin.py


class CourseInline(admin.TabularInline):
    model = Course
    form = CourseForm
    extra = 3
class StudentAdmin(admin.ModelAdmin):
    form = StudentForm
    search_fields = ('name', )
    fields = ('name', )
    ordering = ('name',)

    inlines = [CourseInline]
 
admin.site.register(Student, StudentAdmin)


autocomplete_light_registry.py


class StudentAutocomplete(autocomplete_light.AutocompleteGenericBase):
    choices = Student.objects.all()
    search_fields = ('name',)

    autocomplete_js_attributes = {'placeholder': 'suggestions...', 
'minimum_characters': 0}
autocomplete_light.register(StudentAutocomplete)

class CourseAutocomplete(autocomplete_light.AutocompleteGenericBase):
    choices = Course.objects.all()
    search_fields = ('name', 'instructor')

    autocomplete_js_attributes = {'placeholder': 'suggestions...', 
'minimum_characters': 0}
autocomplete_light.register(CourseAutocomplete)


-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/31fbb3e8-20d9-4f5f-879d-97ea8e8bc760%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to