|   | 1 |  initial version  | 
Here is a possibility...
sage: K.<a> = QuadraticField(2)
sage: OK = K.OK()
sage: OK.gens()                                                                                                                             
(1, a)    sage: J = OK.ideal(3)
sage: Q = OK.quotient(J, names='abar')
sage: Q
Quotient of Maximal Order in Number Field in a with defining polynomial x^2 - 2 with a = 1.414213562373095? by the ideal (3)
sage: Q.is_field()
True
sage: Q.is_prime_field()
False
sage: Q.inject_variables()
Defining abar0, abar1
sage: abar0                                                                                                                                 
1
sage: abar1                                                                                                                                 
a
But do not expect too much functionality from this construction. Instead, why not construct "with bare hands" the ring last listed in the following chain of isomorphisms. (We know that $\mathcal O_K$ is generated by $1$ and $a=(x\text{ mod }(3))$.) $$ \mathcal O_K/(3) =(\Bbb Z[x]/(x^2-2))/3 =\Bbb Z[x]/(x^2-2,\ 3) =(\Bbb Z[x]/3)/(x^2-2) =\Bbb F_3[x]/(x^2-2) \ . $$ Which is:
R.<x> = PolynomialRing(GF(3))                                                                                                         
F.<a> = GF(9, modulus=x^2-2)
Of course, knowing the purpose for the needed code snippet may change the situation.
 Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.
 
                
                Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.