Commit 0cec1ba9 authored by EASHAN GUPTA's avatar EASHAN GUPTA

revised

parent 7ad61144
from allocation.models import *
def f():
a=Applicant.objects.all().order_by('rank')
def f(univ):
a=Applicant.objects.filter(university.objects.all()[0].name=univ).order_by('rank')
c=Choice.objects.all()
my_dict=dict([(x,0) for x in c])
for x in a:
......
from django.contrib import admin
from .models import Applicant,Choice,Application,Allocationcl
from .models import *
admin.site.register(Choice)
class ChoiceInline(admin.TabularInline):
model = Application #https://stackoverflow.com/questions/5947843/django-how-does-manytomanyfield-with-through-appear-in-admin
extra = 2
class AllotedChoiceToAppInLine(admin.TabularInline):
model=Allocationcl
extra=0
class ApplicantAdmin(admin.ModelAdmin):
fields = ['name', 'rank']
inlines = [ChoiceInline]
inlines = [ChoiceInline, AllotedChoiceToAppInLine]
# class
admin.site.register(University)
admin.site.register(Choice)
admin.site.register(Applicant, ApplicantAdmin)
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-10-01 17:09
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Applicant',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=200)),
('rank', models.IntegerField()),
],
),
migrations.CreateModel(
name='Application',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('priority', models.IntegerField()),
('applicant', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='allocation.Applicant')),
],
),
migrations.CreateModel(
name='Choice',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('choice_name', models.CharField(max_length=200)),
('capacity', models.IntegerField()),
],
),
migrations.AddField(
model_name='application',
name='choice',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='allocation.Choice'),
),
migrations.AddField(
model_name='applicant',
name='choices',
field=models.ManyToManyField(through='allocation.Application', to='allocation.Choice'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-10-09 20:28
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('allocation', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='application',
options={'ordering': ['priority']},
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-10-14 12:11
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('allocation', '0002_auto_20171010_0158'),
]
operations = [
migrations.CreateModel(
name='Allocationcl',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('applicant', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='allocation.Applicant')),
('choice', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='allocation.Choice')),
],
options={
'ordering': ['applicant__rank'],
},
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-10-14 13:00
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('allocation', '0003_allocationcl'),
]
operations = [
migrations.AddField(
model_name='applicant',
name='alloted_choice',
field=models.ManyToManyField(related_name='alloted_choice', through='allocation.Allocationcl', to='allocation.Choice'),
),
migrations.AlterField(
model_name='applicant',
name='choices',
field=models.ManyToManyField(related_name='choices', through='allocation.Application', to='allocation.Choice'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-10-15 21:52
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('allocation', '0004_auto_20171014_1830'),
]
operations = [
migrations.RemoveField(
model_name='applicant',
name='alloted_choice',
),
migrations.AddField(
model_name='applicant',
name='alloted_choice',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='alloted_choice', to='allocation.Choice'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-10-15 21:56
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('allocation', '0005_auto_20171016_0322'),
]
operations = [
migrations.RemoveField(
model_name='applicant',
name='alloted_choice',
),
migrations.AddField(
model_name='applicant',
name='alloted_choice',
field=models.ManyToManyField(related_name='alloted_choice', to='allocation.Choice'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-10-15 21:58
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('allocation', '0006_auto_20171016_0326'),
]
operations = [
migrations.AlterField(
model_name='applicant',
name='alloted_choice',
field=models.ManyToManyField(default=None, related_name='alloted_choice', to='allocation.Choice'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-10-15 22:01
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('allocation', '0007_auto_20171016_0328'),
]
operations = [
migrations.RemoveField(
model_name='applicant',
name='alloted_choice',
),
migrations.AddField(
model_name='applicant',
name='alloted_choice',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='alloted_choice', to='allocation.Choice'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-10-15 22:14
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('allocation', '0008_auto_20171016_0331'),
]
operations = [
migrations.RemoveField(
model_name='applicant',
name='alloted_choice',
),
migrations.AddField(
model_name='applicant',
name='alloted_choice',
field=models.ManyToManyField(related_name='alloted_choice', through='allocation.Allocationcl', to='allocation.Choice'),
),
]
from django.db import models
# import math
class University(models.Model):
name=models.CharField(max_length=200)
class Choice(models.Model):
choice_name = models.CharField(max_length=200)
# alloted_applicants = models.ManyToManyField(Applicant, through='Allocationcl')
university=models.ForeignKey(University,on_delete=models.CASCADE, related_name='choices')
capacity = models.IntegerField()
def __str__(self):
return self.choice_name
......@@ -12,10 +14,11 @@ class Choice(models.Model):
# Null_Choice.save()
class Applicant(models.Model):
choices = models.ManyToManyField(Choice, through='Application', related_name='choices')
choices = models.ManyToManyField(Choice, through='Application', related_name='applicants')
name = models.CharField(max_length=200)
alloted_choice = models.ManyToManyField(Choice, through='Allocationcl', related_name='alloted_choice')
alloted_choice = models.ManyToManyField(Choice, through='Allocationcl', related_name='alloted_applicant')
rank = models.IntegerField()
university=models.ForeignKey(University,on_delete=models.CASCADE,related_name='applicants')
def __str__(self):
return self.name
def ordered_choices(self):
......
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment